test_bug22310.js (1923B)
1 String.prototype.has = function (s) { 2 return this.includes(s); 3 }; 4 5 function dt(locale) { 6 var date = new Date("2008-06-30T13:56:34"); 7 const dtOptions = { 8 year: "numeric", 9 month: "long", 10 day: "numeric", 11 hour: "numeric", 12 minute: "numeric", 13 second: "numeric", 14 }; 15 return date.toLocaleString(locale, dtOptions); 16 } 17 18 var all_passed = true; 19 const tests = [ 20 [dt("en-US").has("June"), "month name in en-US"], 21 [dt("en-US").has("2008"), "year in en-US"], 22 [dt("da").has("jun"), "month name in da"], 23 [dt("da-DK") == dt("da"), "da same as da-DK"], 24 [ 25 dt("en-GB").has("30") && 26 dt("en-GB").has("June") && 27 dt("en-GB").indexOf("30") < dt("en-GB").indexOf("June"), 28 "day before month in en-GB", 29 ], 30 [ 31 dt("en-US").has("30") && 32 dt("en-US").has("June") && 33 dt("en-US").indexOf("30") > dt("en-US").indexOf("June"), 34 "month before day in en-US", 35 ], 36 [dt("ja-JP").has("\u5E746\u670830\u65E5"), "year month and day in ja-JP"], 37 // The Firefox locale code ja-JP-mac will be resolved to a BCP47-compliant 38 // tag ja-JP-x-lvariant-mac by uloc_toLanguageTag 39 [ 40 dt("ja-JP") == dt("ja-JP-x-lvariant-mac"), 41 "ja-JP-x-lvariant-mac same as ja-JP", 42 ], 43 [dt("nn-NO").has("juni"), "month name in nn-NO"], 44 [dt("nb-NO").has("juni"), "month name in nb-NO"], 45 // Bug 1261775 - failures on win10 46 //[dt("no-NO").has("30. juni"), "month name in no-NO"], 47 [dt("sv-SE").has("30 jun"), "month name in sv-SE"], 48 [dt("kok").has("\u091C\u0942\u0928"), "month name in kok"], 49 [dt("ta-IN").has("\u0B9C\u0BC2\u0BA9\u0BCD"), "month name in ta-IN"], 50 [!!dt("ab-CD").length, "fallback for ab-CD"], 51 ]; 52 53 function one_test(testcase, msg) { 54 if (!testcase) { 55 all_passed = false; 56 dump("Unexpected date format: " + msg + "\n"); 57 } 58 } 59 60 function run_test() { 61 for (var i = 0; i < tests.length; ++i) { 62 one_test(tests[i][0], tests[i][1]); 63 } 64 Assert.ok(all_passed); 65 }