summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Intl/DateTimeFormat/japanese-gannen-year.js
blob: e972d2e55a67aeb03750fe034818b4ae34d2e1a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// |reftest| skip-if(!this.hasOwnProperty("Intl"))

var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese", {
    era: "short",
    timeZone: "Asia/Tokyo",
});

var endShowa = new Date("1989-01-07T00:00:00.000Z");
var startHeisei = new Date("1989-01-08T00:00:00.000Z");

assertEq(dtf.format(endShowa), "昭和64/1/7");
assertEq(dtf.format(startHeisei), "平成1/1/8");

var parts = dtf.formatToParts(startHeisei);
assertEq(parts.filter(p => p.type === "era")[0].value, "平成");
assertEq(parts.filter(p => p.type === "year")[0].value, "1");

var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese", {
    era: "short",
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "Asia/Tokyo",
});

assertEq(dtf.format(endShowa), "昭和64年1月7日");
assertEq(dtf.format(startHeisei), "平成元年1月8日");

var parts = dtf.formatToParts(startHeisei);
assertEq(parts.filter(p => p.type === "era")[0].value, "平成");
assertEq(parts.filter(p => p.type === "year")[0].value, "元");

// ICU returns mixed numbers when an explicit numbering system is present.

var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese-nu-arab", {
    era: "short",
    timeZone: "Asia/Tokyo",
});

assertEq(dtf.format(endShowa), "昭和٦٤/١/٧");
assertEq(dtf.format(startHeisei), "平成١/١/٨");

var dtf = new Intl.DateTimeFormat("ja-u-ca-japanese-nu-arab", {
    era: "short",
    year: "numeric",
    month: "numeric",
    timeZone: "Asia/Tokyo",
});

assertEq(dtf.format(endShowa), "昭和64年١月");
assertEq(dtf.format(startHeisei), "平成元年١月");

if (typeof reportCompare === "function")
    reportCompare(0, 0);