summaryrefslogtreecommitdiffstats
path: root/js/src/tests/Intl/Array/toLocaleString-number.js
blob: 6ca8a17837c0868bab2057bc8f5dc786f91cb246 (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
if (typeof Intl === "object") {
    const localeSep = [,,].toLocaleString();

    assertEq([NaN].toLocaleString("ar"), "ليس رقم");
    assertEq([NaN].toLocaleString(["zh-hant", "ar"]), "非數值");
    assertEq([Infinity].toLocaleString("dz"), "གྲངས་མེད");
    assertEq([-Infinity].toLocaleString(["fr", "en"]), "-∞");

    const sampleValues = [
        -0, +0, -1, +1, -2, +2, -0.5, +0.5,
    ];
    const sampleLocales = [
        void 0,
        "en",
        "th-th-u-nu-thai",
        ["tlh", "de"],
    ];
    const sampleOptions = [
        void 0,
        {},
        {style: "percent"},
        {style: "currency", currency: "USD", minimumIntegerDigits: 4},
    ];
    for (let locale of sampleLocales) {
        for (let options of sampleOptions) {
            let nf = new Intl.NumberFormat(locale, options);
            let expected = sampleValues.map(nf.format).join(localeSep);
            assertEq(sampleValues.toLocaleString(locale, options), expected);
        }
    }
}

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