string-toLocaleUpperCase-default-case-mapping.js (1644B)
1 // |jit-test| skip-if: typeof Intl === 'undefined' 2 3 function testDefaultCaseMapping() { 4 for (var i = 0; i < 100; ++i) { 5 assertEq("turkish i".toLocaleUpperCase(), "TURKISH I"); 6 } 7 } 8 9 function testTurkishCaseMapping() { 10 for (var i = 0; i < 100; ++i) { 11 assertEq("turkish i".toLocaleUpperCase(), "TURK\u{130}SH \u{130}"); 12 } 13 } 14 15 // JIT tests run with "en-US" by default. (Or "en-US-POSIX" for some Android tests.) 16 assertEq( 17 getDefaultLocale() === "en-US" || getDefaultLocale() === "en-US-POSIX", 18 true 19 ); 20 assertEq(getRealmLocale(), "en-US"); 21 22 // Ensure case mapping fuse is intact. 23 assertEq(getFuseState().DefaultLocaleHasDefaultCaseMappingFuse.intact, true); 24 25 // Run default case mapping test. 26 testDefaultCaseMapping(); 27 28 // Change runtime default locale. 29 setDefaultLocale("fr-FR"); 30 assertEq(getDefaultLocale(), "fr-FR"); 31 assertEq(getRealmLocale(), "fr-FR"); 32 33 // Ensure case mapping fuse is still intact. 34 assertEq(getFuseState().DefaultLocaleHasDefaultCaseMappingFuse.intact, true); 35 36 // Run default case mapping test again. 37 testDefaultCaseMapping(); 38 39 // Change runtime default locale. 40 setDefaultLocale("tr-TR"); 41 assertEq(getDefaultLocale(), "tr-TR"); 42 assertEq(getRealmLocale(), "tr-TR"); 43 44 // Case mapping fuse is no longer intact. 45 assertEq(getFuseState().DefaultLocaleHasDefaultCaseMappingFuse.intact, false); 46 47 testTurkishCaseMapping(); 48 49 // Reset default locale. 50 setDefaultLocale("en-US"); 51 assertEq(getDefaultLocale(), "en-US"); 52 assertEq(getRealmLocale(), "en-US"); 53 54 // Fuse is still popped. 55 assertEq(getFuseState().DefaultLocaleHasDefaultCaseMappingFuse.intact, false); 56 57 // Run default case mapping test. 58 testDefaultCaseMapping();