legacy.js (1615B)
1 // |reftest| skip-if(!this.hasOwnProperty('Intl')) 2 3 var testData = [ 4 { 5 tag: "cel-gaulish", 6 options: { 7 numberingSystem: "latn", 8 }, 9 canonical: "xtg-u-nu-latn", 10 extensions: { 11 numberingSystem: "latn", 12 }, 13 }, 14 15 { 16 tag: "cel-gaulish", 17 options: { 18 region: "FR", 19 numberingSystem: "latn", 20 }, 21 canonical: "xtg-FR-u-nu-latn", 22 extensions: { 23 numberingSystem: "latn", 24 }, 25 }, 26 27 { 28 tag: "art-lojban", 29 options: { 30 numberingSystem: "latn", 31 }, 32 canonical: "jbo-u-nu-latn", 33 extensions: { 34 numberingSystem: "latn", 35 }, 36 }, 37 38 { 39 tag: "art-lojban", 40 options: { 41 region: "ZZ", 42 numberingSystem: "latn", 43 }, 44 canonical: "jbo-ZZ-u-nu-latn", 45 extensions: { 46 numberingSystem: "latn", 47 }, 48 }, 49 ]; 50 51 for (var {tag, options, canonical, extensions} of testData) { 52 var loc = new Intl.Locale(tag, options); 53 assertEq(loc.toString(), canonical); 54 55 for (var [name, value] of Object.entries(extensions)) { 56 assertEq(loc[name], value); 57 } 58 } 59 60 var errorTestData = [ 61 "en-gb-oed", 62 "i-default", 63 "sgn-ch-de", 64 "zh-min", 65 "zh-min-nan", 66 "zh-hakka-hakka", 67 ]; 68 69 for (var tag of errorTestData) { 70 assertThrowsInstanceOf(() => new Intl.Locale(tag), RangeError); 71 assertThrowsInstanceOf(() => new Intl.Locale(tag, {}), RangeError); 72 } 73 74 if (typeof reportCompare === "function") 75 reportCompare(0, 0);