intl/locale/tests/unit/test_bug22310.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:c0b52a933dd2
1 String.prototype.has = function(s) this.indexOf(s) != -1;
2 const Cc = Components.classes;
3 const Ci = Components.interfaces;
4
5 const dts = Cc["@mozilla.org/intl/scriptabledateformat;1"]
6 .getService(Ci.nsIScriptableDateFormat);
7 function dt(locale) dts.FormatDateTime(locale, dts.dateFormatLong,
8 dts.timeFormatSeconds, 2008, 6, 30, 13, 56, 34);
9 var all_passed = true;
10 const tests =
11 [
12 [dt("en-US").has("June"), "month name in en-US"],
13 [dt("en-US").has("2008"), "year in en-US"],
14 [dt("da").has("jun"), "month name in da"],
15 [dt("da-DK") == dt("da"), "da same as da-DK"],
16 [dt("en-GB").has("30") && dt("en-GB").has("June") &&
17 dt("en-GB").indexOf("30") < dt("en-GB").indexOf("June"),
18 "day before month in en-GB"],
19 [dt("en-US").has("30") && dt("en-US").has("June") &&
20 dt("en-US").indexOf("30") > dt("en-US").indexOf("June"),
21 "month before day in en-US"],
22 [dt("ja-JP").has("\u5E746\u670830\u65E5"), "year month and day in ja-JP"],
23 [dt("ja-JP") == dt("ja-JP-mac"), "ja-JP-mac same as ja-JP"],
24 [dt("nn-NO").has("juni"), "month name in nn-NO"],
25 [dt("nb-NO").has("juni"), "month name in nb-NO"],
26 [dt("no-NO").has("30. juni"), "month name in no-NO"],
27 [dt("sv-SE").has("30 jun"), "month name in sv-SE"],
28 [dt("kok").has("\u091C\u0942\u0928"), "month name in kok"],
29 [dt("ta-IN").has("\u0B9C\u0BC2\u0BA9\u0BCD"), "month name in ta-IN"],
30 [dt("ab-CD").length > 0, "fallback for ab-CD"]
31 ];
32
33 function one_test(testcase, msg)
34 {
35 if (!testcase) {
36 all_passed = false;
37 dump("Unexpected date format: " + msg + "\n");
38 }
39 }
40
41 function run_test()
42 {
43 for (var i = 0; i < tests.length; ++i) {
44 one_test(tests[i][0], tests[i][1]);
45 }
46 do_check_true(all_passed);
47 }

mercurial