summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Intl/ListFormat/shell.js
blob: 70056a579e03263b7fbd26d03999b5bb74a7d43d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function GenericPartCreator(type) {
    return str => ({ type, value: str });
}

const ListFormatParts = {
    Element: GenericPartCreator("element"),
    Literal: GenericPartCreator("literal"),
};

function assertParts(lf, x, expected) {
    var parts = lf.formatToParts(x);
    assertEq(parts.map(part => part.value).join(""), lf.format(x),
             "formatToParts and format must agree");

    var len = parts.length;
    assertEq(len, expected.length, "parts count mismatch");
    for (var i = 0; i < len; i++) {
        assertEq(parts[i].type, expected[i].type, "type mismatch at " + i);
        assertEq(parts[i].value, expected[i].value, "value mismatch at " + i);
    }
}