mirror of https://github.com/tc39/test262.git
126 lines
2.4 KiB
JavaScript
126 lines
2.4 KiB
JavaScript
// Copyright 2018 Igalia, S.L. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-intl.locale
|
|
description: >
|
|
Checks the order of evaluations of arguments and options for the Locale
|
|
constructor.
|
|
features: [Intl.Locale]
|
|
includes: [compareArray.js]
|
|
---*/
|
|
|
|
const order = [];
|
|
new Intl.Locale(
|
|
{ toString() { order.push("tag toString"); return "en"; } },
|
|
{
|
|
get language() {
|
|
order.push("get language");
|
|
return {
|
|
toString() {
|
|
order.push("toString language");
|
|
return "de";
|
|
}
|
|
}
|
|
},
|
|
|
|
get script() {
|
|
order.push("get script");
|
|
return {
|
|
toString() {
|
|
order.push("toString script");
|
|
return "Latn";
|
|
}
|
|
}
|
|
},
|
|
|
|
get region() {
|
|
order.push("get region");
|
|
return {
|
|
toString() {
|
|
order.push("toString region");
|
|
return "DE";
|
|
}
|
|
}
|
|
},
|
|
|
|
get calendar() {
|
|
order.push("get calendar");
|
|
return {
|
|
toString() {
|
|
order.push("toString calendar");
|
|
return "gregory";
|
|
}
|
|
}
|
|
},
|
|
|
|
get collation() {
|
|
order.push("get collation");
|
|
return {
|
|
toString() {
|
|
order.push("toString collation");
|
|
return "zhuyin";
|
|
}
|
|
}
|
|
},
|
|
|
|
get hourCycle() {
|
|
order.push("get hourCycle");
|
|
return {
|
|
toString() {
|
|
order.push("toString hourCycle");
|
|
return "h24";
|
|
}
|
|
}
|
|
},
|
|
|
|
get caseFirst() {
|
|
order.push("get caseFirst");
|
|
return {
|
|
toString() {
|
|
order.push("toString caseFirst");
|
|
return "upper";
|
|
}
|
|
}
|
|
},
|
|
|
|
get numeric() {
|
|
order.push("get numeric");
|
|
return false;
|
|
},
|
|
|
|
get numberingSystem() {
|
|
order.push("get numberingSystem");
|
|
return {
|
|
toString() {
|
|
order.push("toString numberingSystem");
|
|
return "latn";
|
|
}
|
|
}
|
|
},
|
|
}
|
|
);
|
|
|
|
const expected_order = [
|
|
"tag toString",
|
|
"get language",
|
|
"toString language",
|
|
"get script",
|
|
"toString script",
|
|
"get region",
|
|
"toString region",
|
|
"get calendar",
|
|
"toString calendar",
|
|
"get collation",
|
|
"toString collation",
|
|
"get hourCycle",
|
|
"toString hourCycle",
|
|
"get caseFirst",
|
|
"toString caseFirst",
|
|
"get numeric",
|
|
"get numberingSystem",
|
|
"toString numberingSystem"
|
|
];
|
|
|
|
assert.compareArray(order, expected_order);
|