mirror of https://github.com/tc39/test262.git
More tests for Unified NumberFormat. (#2454)
This commit is contained in:
parent
01007880bc
commit
2fb0eca404
|
@ -0,0 +1,29 @@
|
|||
// Copyright 2019 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-initializenumberformat
|
||||
description: Checks handling of the unit option with the currency style.
|
||||
info: |
|
||||
SetNumberFormatUnitOptions ( intlObj, options )
|
||||
|
||||
5. Let currency be ? GetOption(options, "currency", "string", undefined, undefined).
|
||||
6. If currency is not undefined, then
|
||||
a. If the result of IsWellFormedCurrencyCode(currency) is false, throw a RangeError exception.
|
||||
9. Let unit be ? GetOption(options, "unit", "string", undefined, undefined).
|
||||
10. If unit is not undefined, then
|
||||
a. If the result of IsWellFormedUnitIdentifier(unit) is false, throw a RangeError exception.
|
||||
12. If style is "currency", then
|
||||
a. If currency is undefined, throw a TypeError exception.
|
||||
13. If style is "unit", then
|
||||
a. If unit is undefined, throw a TypeError exception.
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
||||
assert.throws(RangeError, () => {
|
||||
new Intl.NumberFormat([], { style: "currency", unit: "test" })
|
||||
});
|
||||
|
||||
assert.throws(RangeError, () => {
|
||||
new Intl.NumberFormat([], { style: "unit", currency: "test" })
|
||||
});
|
|
@ -13,23 +13,11 @@ assert.throws(TypeError, () => {
|
|||
})
|
||||
});
|
||||
|
||||
for (const unit of [undefined, "test", "MILE", "kB"]) {
|
||||
assert.throws(unit === undefined ? TypeError : RangeError, () => {
|
||||
new Intl.NumberFormat([], {
|
||||
style: "unit",
|
||||
unit,
|
||||
})
|
||||
});
|
||||
|
||||
for (const style of [undefined, "decimal", "currency"]) {
|
||||
let called = 0;
|
||||
const nf = new Intl.NumberFormat([], {
|
||||
style,
|
||||
get unit() { ++called; return unit; },
|
||||
currency: "USD",
|
||||
});
|
||||
assert.sameValue(nf.resolvedOptions().unit, undefined);
|
||||
assert.sameValue(called, 1);
|
||||
for (const unit of ["test", "MILE", "kB"]) {
|
||||
for (const style of [undefined, "decimal", "currency", "unit"]) {
|
||||
assert.throws(RangeError, () => {
|
||||
new Intl.NumberFormat([], { style, unit })
|
||||
}, `{ style: ${style}, unit: ${unit} }`);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -37,4 +25,69 @@ const nf = new Intl.NumberFormat([], {
|
|||
style: "percent",
|
||||
});
|
||||
assert.sameValue(nf.resolvedOptions().style, "percent");
|
||||
assert.sameValue("unit" in nf.resolvedOptions(), false);
|
||||
assert.sameValue(nf.resolvedOptions().unit, undefined);
|
||||
|
||||
function check(unit) {
|
||||
const nf = new Intl.NumberFormat([], {
|
||||
style: "unit",
|
||||
unit,
|
||||
});
|
||||
const options = nf.resolvedOptions();
|
||||
assert.sameValue(options.style, "unit");
|
||||
assert.sameValue(options.unit, unit);
|
||||
}
|
||||
|
||||
const units = [
|
||||
"acre",
|
||||
"bit",
|
||||
"byte",
|
||||
"celsius",
|
||||
"centimeter",
|
||||
"day",
|
||||
"degree",
|
||||
"fahrenheit",
|
||||
"fluid-ounce",
|
||||
"foot",
|
||||
"gallon",
|
||||
"gigabit",
|
||||
"gigabyte",
|
||||
"gram",
|
||||
"hectare",
|
||||
"hour",
|
||||
"inch",
|
||||
"kilobit",
|
||||
"kilobyte",
|
||||
"kilogram",
|
||||
"kilometer",
|
||||
"liter",
|
||||
"megabit",
|
||||
"megabyte",
|
||||
"meter",
|
||||
"mile",
|
||||
"mile-scandinavian",
|
||||
"millimeter",
|
||||
"milliliter",
|
||||
"millisecond",
|
||||
"minute",
|
||||
"month",
|
||||
"ounce",
|
||||
"percent",
|
||||
"petabyte",
|
||||
"pound",
|
||||
"second",
|
||||
"stone",
|
||||
"terabit",
|
||||
"terabyte",
|
||||
"week",
|
||||
"yard",
|
||||
"year",
|
||||
];
|
||||
|
||||
for (const simpleUnit of units) {
|
||||
check(simpleUnit);
|
||||
for (const simpleUnit2 of units) {
|
||||
check(simpleUnit + "-per-" + simpleUnit2);
|
||||
check(simpleUnit2 + "-per-" + simpleUnit);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,3 +30,37 @@ for (const [value, expected = value] of values) {
|
|||
assert.sameValue("unitDisplay" in resolvedOptions, true);
|
||||
assert.sameValue(resolvedOptions.unitDisplay, expected);
|
||||
}
|
||||
|
||||
for (const [value, expected = value] of values) {
|
||||
const nf = new Intl.NumberFormat([], {
|
||||
style: "unit",
|
||||
unitDisplay: value,
|
||||
unit: "percent",
|
||||
});
|
||||
const resolvedOptions = nf.resolvedOptions();
|
||||
assert.sameValue("unitDisplay" in resolvedOptions, true);
|
||||
assert.sameValue(resolvedOptions.unitDisplay, expected);
|
||||
}
|
||||
|
||||
for (const [value] of values) {
|
||||
const nf = new Intl.NumberFormat([], {
|
||||
style: "percent",
|
||||
unitDisplay: value,
|
||||
});
|
||||
const resolvedOptions = nf.resolvedOptions();
|
||||
assert.sameValue("unitDisplay" in resolvedOptions, false);
|
||||
assert.sameValue(resolvedOptions.unitDisplay, undefined);
|
||||
}
|
||||
|
||||
const invalidValues = [
|
||||
"",
|
||||
"Short",
|
||||
"s",
|
||||
"\u017Fhort",
|
||||
];
|
||||
|
||||
for (const unitDisplay of invalidValues) {
|
||||
assert.throws(RangeError, () => {
|
||||
new Intl.NumberFormat([], { unitDisplay });
|
||||
});
|
||||
}
|
||||
|
|
|
@ -11,45 +11,60 @@ features: [Intl.NumberFormat-unified]
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
"345E-6",
|
||||
"3,45E-4",
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
"345E-3",
|
||||
"3,45E-1",
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
"3,45E0",
|
||||
"3,45E0",
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
"34,5E0",
|
||||
"3,45E1",
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
"543E0",
|
||||
"5,43E2",
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
"5,43E3",
|
||||
"5,43E3",
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
"543E3",
|
||||
"5,43E5",
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
"543,211E3",
|
||||
"5,432E5",
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
"-∞",
|
||||
"-∞",
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
"∞",
|
||||
"∞",
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
"NaN",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -11,45 +11,60 @@ features: [Intl.NumberFormat-unified]
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
"345E-6",
|
||||
"3.45E-4",
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
"345E-3",
|
||||
"3.45E-1",
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
"3.45E0",
|
||||
"3.45E0",
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
"34.5E0",
|
||||
"3.45E1",
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
"543E0",
|
||||
"5.43E2",
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
"5.43E3",
|
||||
"5.43E3",
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
"543E3",
|
||||
"5.43E5",
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
"543.211E3",
|
||||
"5.432E5",
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
"-∞",
|
||||
"-∞",
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
"∞",
|
||||
"∞",
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
"NaN",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -11,45 +11,60 @@ features: [Intl.NumberFormat-unified]
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
"345E-6",
|
||||
"3.45E-4",
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
"345E-3",
|
||||
"3.45E-1",
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
"3.45E0",
|
||||
"3.45E0",
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
"34.5E0",
|
||||
"3.45E1",
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
"543E0",
|
||||
"5.43E2",
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
"5.43E3",
|
||||
"5.43E3",
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
"543E3",
|
||||
"5.43E5",
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
"543.211E3",
|
||||
"5.432E5",
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
"-∞",
|
||||
"-∞",
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
"∞",
|
||||
"∞",
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
"NaN",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -11,45 +11,60 @@ features: [Intl.NumberFormat-unified]
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
"345E-6",
|
||||
"3.45E-4",
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
"345E-3",
|
||||
"3.45E-1",
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
"3.45E0",
|
||||
"3.45E0",
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
"34.5E0",
|
||||
"3.45E1",
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
"543E0",
|
||||
"5.43E2",
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
"5.43E3",
|
||||
"5.43E3",
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
"543E3",
|
||||
"5.43E5",
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
"543.211E3",
|
||||
"5.432E5",
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
"-∞",
|
||||
"-∞",
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
"∞",
|
||||
"∞",
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
"NaN",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -11,45 +11,60 @@ features: [Intl.NumberFormat-unified]
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
"345E-6",
|
||||
"3.45E-4",
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
"345E-3",
|
||||
"3.45E-1",
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
"3.45E0",
|
||||
"3.45E0",
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
"34.5E0",
|
||||
"3.45E1",
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
"543E0",
|
||||
"5.43E2",
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
"5.43E3",
|
||||
"5.43E3",
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
"543E3",
|
||||
"5.43E5",
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
"543.211E3",
|
||||
"5.432E5",
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
"-∞",
|
||||
"-∞",
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
"∞",
|
||||
"∞",
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
"非數值",
|
||||
"非數值",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -22,6 +22,9 @@ assert.sameValue(nfShort.format(1.59), "1,6");
|
|||
assert.sameValue(nfShort.format(0.159), "0,16");
|
||||
assert.sameValue(nfShort.format(0.0159), "0,016");
|
||||
assert.sameValue(nfShort.format(0.00159), "0,0016");
|
||||
assert.sameValue(nfShort.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfShort.format(Infinity), "∞");
|
||||
assert.sameValue(nfShort.format(NaN), "NaN");
|
||||
|
||||
const nfLong = new Intl.NumberFormat("de-DE", {
|
||||
notation: "compact",
|
||||
|
@ -37,4 +40,6 @@ assert.sameValue(nfLong.format(1.59), "1,6");
|
|||
assert.sameValue(nfLong.format(0.159), "0,16");
|
||||
assert.sameValue(nfLong.format(0.0159), "0,016");
|
||||
assert.sameValue(nfLong.format(0.00159), "0,0016");
|
||||
|
||||
assert.sameValue(nfLong.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfLong.format(Infinity), "∞");
|
||||
assert.sameValue(nfLong.format(NaN), "NaN");
|
||||
|
|
|
@ -22,6 +22,9 @@ assert.sameValue(nfShort.format(1.59), "1.6");
|
|||
assert.sameValue(nfShort.format(0.159), "0.16");
|
||||
assert.sameValue(nfShort.format(0.0159), "0.016");
|
||||
assert.sameValue(nfShort.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfShort.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfShort.format(Infinity), "∞");
|
||||
assert.sameValue(nfShort.format(NaN), "NaN");
|
||||
|
||||
const nfLong = new Intl.NumberFormat("en-US", {
|
||||
notation: "compact",
|
||||
|
@ -37,3 +40,6 @@ assert.sameValue(nfLong.format(1.59), "1.6");
|
|||
assert.sameValue(nfLong.format(0.159), "0.16");
|
||||
assert.sameValue(nfLong.format(0.0159), "0.016");
|
||||
assert.sameValue(nfLong.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfLong.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfLong.format(Infinity), "∞");
|
||||
assert.sameValue(nfLong.format(NaN), "NaN");
|
||||
|
|
|
@ -22,6 +22,9 @@ assert.sameValue(nfShort.format(1.59), "1.6");
|
|||
assert.sameValue(nfShort.format(0.159), "0.16");
|
||||
assert.sameValue(nfShort.format(0.0159), "0.016");
|
||||
assert.sameValue(nfShort.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfShort.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfShort.format(Infinity), "∞");
|
||||
assert.sameValue(nfShort.format(NaN), "NaN");
|
||||
|
||||
const nfLong = new Intl.NumberFormat("ja-JP", {
|
||||
notation: "compact",
|
||||
|
@ -37,3 +40,6 @@ assert.sameValue(nfLong.format(1.59), "1.6");
|
|||
assert.sameValue(nfLong.format(0.159), "0.16");
|
||||
assert.sameValue(nfLong.format(0.0159), "0.016");
|
||||
assert.sameValue(nfLong.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfLong.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfLong.format(Infinity), "∞");
|
||||
assert.sameValue(nfLong.format(NaN), "NaN");
|
||||
|
|
|
@ -22,6 +22,9 @@ assert.sameValue(nfShort.format(1.59), "1.6");
|
|||
assert.sameValue(nfShort.format(0.159), "0.16");
|
||||
assert.sameValue(nfShort.format(0.0159), "0.016");
|
||||
assert.sameValue(nfShort.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfShort.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfShort.format(Infinity), "∞");
|
||||
assert.sameValue(nfShort.format(NaN), "NaN");
|
||||
|
||||
const nfLong = new Intl.NumberFormat("ko-KR", {
|
||||
notation: "compact",
|
||||
|
@ -37,3 +40,6 @@ assert.sameValue(nfLong.format(1.59), "1.6");
|
|||
assert.sameValue(nfLong.format(0.159), "0.16");
|
||||
assert.sameValue(nfLong.format(0.0159), "0.016");
|
||||
assert.sameValue(nfLong.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfLong.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfLong.format(Infinity), "∞");
|
||||
assert.sameValue(nfLong.format(NaN), "NaN");
|
||||
|
|
|
@ -22,6 +22,9 @@ assert.sameValue(nfShort.format(1.59), "1.6");
|
|||
assert.sameValue(nfShort.format(0.159), "0.16");
|
||||
assert.sameValue(nfShort.format(0.0159), "0.016");
|
||||
assert.sameValue(nfShort.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfShort.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfShort.format(Infinity), "∞");
|
||||
assert.sameValue(nfShort.format(NaN), "非數值");
|
||||
|
||||
const nfLong = new Intl.NumberFormat("zh-TW", {
|
||||
notation: "compact",
|
||||
|
@ -37,3 +40,6 @@ assert.sameValue(nfLong.format(1.59), "1.6");
|
|||
assert.sameValue(nfLong.format(0.159), "0.16");
|
||||
assert.sameValue(nfLong.format(0.0159), "0.016");
|
||||
assert.sameValue(nfLong.format(0.00159), "0.0016");
|
||||
assert.sameValue(nfLong.format(-Infinity), "-∞");
|
||||
assert.sameValue(nfLong.format(Infinity), "∞");
|
||||
assert.sameValue(nfLong.format(NaN), "非數值");
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [de-DE]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -12,49 +12,64 @@ features: [Intl.NumberFormat-unified]
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"always",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"+0",
|
||||
"+0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"+NaN",
|
||||
],
|
||||
[
|
||||
"never",
|
||||
"∞",
|
||||
"987",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"+0",
|
||||
"0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("de-DE", {signDisplay});
|
||||
assert.sameValue(nf.format(-987), negative);
|
||||
assert.sameValue(nf.format(-0.0001), negativeNearZero);
|
||||
assert.sameValue(nf.format(-0), negativeZero);
|
||||
assert.sameValue(nf.format(0), zero);
|
||||
assert.sameValue(nf.format(0.0001), positiveNearZero);
|
||||
assert.sameValue(nf.format(987), positive);
|
||||
assert.sameValue(nf.format(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-987), expected[1], `-987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0), expected[3], `-0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0), expected[4], `0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(987), expected[6], `987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [en-US]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -12,49 +12,64 @@ features: [Intl.NumberFormat-unified]
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"always",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"+0",
|
||||
"+0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"+NaN",
|
||||
],
|
||||
[
|
||||
"never",
|
||||
"∞",
|
||||
"987",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"+0",
|
||||
"0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("en-US", {signDisplay});
|
||||
assert.sameValue(nf.format(-987), negative);
|
||||
assert.sameValue(nf.format(-0.0001), negativeNearZero);
|
||||
assert.sameValue(nf.format(-0), negativeZero);
|
||||
assert.sameValue(nf.format(0), zero);
|
||||
assert.sameValue(nf.format(0.0001), positiveNearZero);
|
||||
assert.sameValue(nf.format(987), positive);
|
||||
assert.sameValue(nf.format(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-987), expected[1], `-987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0), expected[3], `-0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0), expected[4], `0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(987), expected[6], `987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [ja-JP]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -12,49 +12,64 @@ features: [Intl.NumberFormat-unified]
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"always",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"+0",
|
||||
"+0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"+NaN",
|
||||
],
|
||||
[
|
||||
"never",
|
||||
"∞",
|
||||
"987",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"+0",
|
||||
"0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("ja-JP", {signDisplay});
|
||||
assert.sameValue(nf.format(-987), negative);
|
||||
assert.sameValue(nf.format(-0.0001), negativeNearZero);
|
||||
assert.sameValue(nf.format(-0), negativeZero);
|
||||
assert.sameValue(nf.format(0), zero);
|
||||
assert.sameValue(nf.format(0.0001), positiveNearZero);
|
||||
assert.sameValue(nf.format(987), positive);
|
||||
assert.sameValue(nf.format(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-987), expected[1], `-987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0), expected[3], `-0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0), expected[4], `0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(987), expected[6], `987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [ko-KR]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -12,49 +12,64 @@ features: [Intl.NumberFormat-unified]
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"always",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"+0",
|
||||
"+0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"+NaN",
|
||||
],
|
||||
[
|
||||
"never",
|
||||
"∞",
|
||||
"987",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"NaN",
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"+0",
|
||||
"0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"NaN",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("ko-KR", {signDisplay});
|
||||
assert.sameValue(nf.format(-987), negative);
|
||||
assert.sameValue(nf.format(-0.0001), negativeNearZero);
|
||||
assert.sameValue(nf.format(-0), negativeZero);
|
||||
assert.sameValue(nf.format(0), zero);
|
||||
assert.sameValue(nf.format(0.0001), positiveNearZero);
|
||||
assert.sameValue(nf.format(987), positive);
|
||||
assert.sameValue(nf.format(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-987), expected[1], `-987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0), expected[3], `-0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0), expected[4], `0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(987), expected[6], `987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright 2019 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [en-US]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
||||
|
||||
const fmt = new Intl.NumberFormat("en-US", {
|
||||
maximumFractionDigits: 1,
|
||||
signDisplay: "exceptZero"
|
||||
});
|
||||
|
||||
assert.sameValue(fmt.format(0.01), "0");
|
||||
assert.sameValue(fmt.format(-0.01), "0");
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [zh-TW]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -12,49 +12,64 @@ features: [Intl.NumberFormat-unified]
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"非數值",
|
||||
],
|
||||
[
|
||||
"always",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"+0",
|
||||
"+0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"+非數值",
|
||||
],
|
||||
[
|
||||
"never",
|
||||
"∞",
|
||||
"987",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"0",
|
||||
"987",
|
||||
"∞",
|
||||
"非數值",
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
"-∞",
|
||||
"-987",
|
||||
"-0",
|
||||
"-0",
|
||||
"0",
|
||||
"+0",
|
||||
"0",
|
||||
"+987",
|
||||
"+∞",
|
||||
"非數值",
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("zh-TW", {signDisplay});
|
||||
assert.sameValue(nf.format(-987), negative);
|
||||
assert.sameValue(nf.format(-0.0001), negativeNearZero);
|
||||
assert.sameValue(nf.format(-0), negativeZero);
|
||||
assert.sameValue(nf.format(0), zero);
|
||||
assert.sameValue(nf.format(0.0001), positiveNearZero);
|
||||
assert.sameValue(nf.format(987), positive);
|
||||
assert.sameValue(nf.format(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-987), expected[1], `-987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(-0), expected[3], `-0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0), expected[4], `0 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(987), expected[6], `987 (${signDisplay})`);
|
||||
assert.sameValue(nf.format(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
assert.sameValue(nf.format(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,110 @@
|
|||
// Copyright 2019 Igalia, S.L., Google, Inc. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.format
|
||||
description: Checks handling of units.
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
||||
const units = [
|
||||
"acre-foot",
|
||||
"ampere",
|
||||
"arc-minute",
|
||||
"arc-second",
|
||||
"astronomical-unit",
|
||||
"atmosphere",
|
||||
"bushel",
|
||||
"calorie",
|
||||
"carat",
|
||||
"centiliter",
|
||||
"century",
|
||||
"cubic-centimeter",
|
||||
"cubic-foot",
|
||||
"cubic-inch",
|
||||
"cubic-kilometer",
|
||||
"cubic-meter",
|
||||
"cubic-mile",
|
||||
"cubic-yard",
|
||||
"cup-metric",
|
||||
"cup",
|
||||
"day-person",
|
||||
"deciliter",
|
||||
"decimeter",
|
||||
"fathom",
|
||||
"foodcalorie",
|
||||
"furlong",
|
||||
"g-force",
|
||||
"gallon-imperial",
|
||||
"generic",
|
||||
"gigahertz",
|
||||
"gigawatt",
|
||||
"hectoliter",
|
||||
"hectopascal",
|
||||
"hertz",
|
||||
"horsepower",
|
||||
"inch-hg",
|
||||
"joule",
|
||||
"karat",
|
||||
"kelvin",
|
||||
"kilocalorie",
|
||||
"kilohertz",
|
||||
"kilojoule",
|
||||
"kilowatt-hour",
|
||||
"kilowatt",
|
||||
"knot",
|
||||
"light-year",
|
||||
"lux",
|
||||
"megahertz",
|
||||
"megaliter",
|
||||
"megawatt",
|
||||
"metric-ton",
|
||||
"microgram",
|
||||
"micrometer",
|
||||
"microsecond",
|
||||
"milliampere",
|
||||
"millibar",
|
||||
"milligram",
|
||||
"millimeter-of-mercury",
|
||||
"milliwatt",
|
||||
"month-person",
|
||||
"nanometer",
|
||||
"nanosecond",
|
||||
"nautical-mile",
|
||||
"ohm",
|
||||
"ounce-troy",
|
||||
"parsec",
|
||||
"permille",
|
||||
"picometer",
|
||||
"pint-metric",
|
||||
"pint",
|
||||
"point",
|
||||
"quart",
|
||||
"radian",
|
||||
"revolution",
|
||||
"square-centimeter",
|
||||
"square-foot",
|
||||
"square-inch",
|
||||
"square-kilometer",
|
||||
"square-meter",
|
||||
"square-mile",
|
||||
"square-yard",
|
||||
"tablespoon",
|
||||
"teaspoon",
|
||||
"ton",
|
||||
"volt",
|
||||
"watt",
|
||||
"week-person",
|
||||
"year-person",
|
||||
"liter-per-100kilometers",
|
||||
"meter-per-second-squared",
|
||||
"mile-per-gallon-imperial",
|
||||
"milligram-per-deciliter",
|
||||
"millimole-per-liter",
|
||||
"part-per-million",
|
||||
"pound-per-square-inch",
|
||||
];
|
||||
|
||||
for (const unit of units) {
|
||||
assert.throws(RangeError, () => new Intl.NumberFormat(undefined, { style: "unit", unit }), `Throw for ${unit}`);
|
||||
}
|
|
@ -21,45 +21,60 @@ function verifyFormatParts(actual, expected, message) {
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"6"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":","},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"4"}],
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":","},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":","},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":","},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
[{"type":"integer","value":"34"},{"type":"decimal","value":","},{"type":"fraction","value":"5"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":","},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":","},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"2"}],
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":","},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":","},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":","},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
[{"type":"integer","value":"543"},{"type":"decimal","value":","},{"type":"fraction","value":"211"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":","},{"type":"fraction","value":"432"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -21,45 +21,60 @@ function verifyFormatParts(actual, expected, message) {
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"6"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"4"}],
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
[{"type":"integer","value":"34"},{"type":"decimal","value":"."},{"type":"fraction","value":"5"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"2"}],
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
[{"type":"integer","value":"543"},{"type":"decimal","value":"."},{"type":"fraction","value":"211"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"432"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -21,45 +21,60 @@ function verifyFormatParts(actual, expected, message) {
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"6"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"4"}],
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
[{"type":"integer","value":"34"},{"type":"decimal","value":"."},{"type":"fraction","value":"5"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"2"}],
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
[{"type":"integer","value":"543"},{"type":"decimal","value":"."},{"type":"fraction","value":"211"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"432"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -21,45 +21,60 @@ function verifyFormatParts(actual, expected, message) {
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"6"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"4"}],
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
[{"type":"integer","value":"34"},{"type":"decimal","value":"."},{"type":"fraction","value":"5"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"2"}],
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
[{"type":"integer","value":"543"},{"type":"decimal","value":"."},{"type":"fraction","value":"211"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"432"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -21,45 +21,60 @@ function verifyFormatParts(actual, expected, message) {
|
|||
|
||||
const tests = [
|
||||
[
|
||||
"0.000345",
|
||||
0.000345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"6"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"4"}],
|
||||
],
|
||||
[
|
||||
"0.345",
|
||||
0.345,
|
||||
[{"type":"integer","value":"345"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentMinusSign","value":"-"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"3.45",
|
||||
3.45,
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
],
|
||||
[
|
||||
"34.5",
|
||||
34.5,
|
||||
[{"type":"integer","value":"34"},{"type":"decimal","value":"."},{"type":"fraction","value":"5"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"3"},{"type":"decimal","value":"."},{"type":"fraction","value":"45"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"1"}],
|
||||
],
|
||||
[
|
||||
"543",
|
||||
543,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"0"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"2"}],
|
||||
],
|
||||
[
|
||||
"5430",
|
||||
5430,
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
],
|
||||
[
|
||||
"543000",
|
||||
543000,
|
||||
[{"type":"integer","value":"543"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"43"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
"543211.1",
|
||||
543211.1,
|
||||
[{"type":"integer","value":"543"},{"type":"decimal","value":"."},{"type":"fraction","value":"211"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"3"}],
|
||||
[{"type":"integer","value":"5"},{"type":"decimal","value":"."},{"type":"fraction","value":"432"},{"type":"exponentSeparator","value":"E"},{"type":"exponentInteger","value":"5"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"非數值"}],
|
||||
[{"type":"nan","value":"非數值"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, engineering, scientific] of tests) {
|
||||
|
|
|
@ -63,6 +63,18 @@ const tests = [
|
|||
0.00159,
|
||||
[{"type":"integer","value":"0"},{"type":"decimal","value":","},{"type":"fraction","value":"0016"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, short, long = short] of tests) {
|
||||
|
|
|
@ -63,6 +63,18 @@ const tests = [
|
|||
0.00159,
|
||||
[{"type":"integer","value":"0"},{"type":"decimal","value":"."},{"type":"fraction","value":"0016"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, short, long = short] of tests) {
|
||||
|
|
|
@ -59,6 +59,18 @@ const tests = [
|
|||
0.00159,
|
||||
[{"type":"integer","value":"0"},{"type":"decimal","value":"."},{"type":"fraction","value":"0016"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, short, long = short] of tests) {
|
||||
|
|
|
@ -59,6 +59,18 @@ const tests = [
|
|||
0.00159,
|
||||
[{"type":"integer","value":"0"},{"type":"decimal","value":"."},{"type":"fraction","value":"0016"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, short, long = short] of tests) {
|
||||
|
|
|
@ -59,6 +59,18 @@ const tests = [
|
|||
0.00159,
|
||||
[{"type":"integer","value":"0"},{"type":"decimal","value":"."},{"type":"fraction","value":"0016"}],
|
||||
],
|
||||
[
|
||||
-Infinity,
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
Infinity,
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
],
|
||||
[
|
||||
NaN,
|
||||
[{"type":"nan","value":"非數值"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [number, short, long = short] of tests) {
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
// Copyright 2019 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.formattoparts
|
||||
description: Checks handling of the percent style and unit.
|
||||
locale: [en-US]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
||||
function verifyFormatParts(actual, expected, message) {
|
||||
assert.sameValue(Array.isArray(expected), true, `${message}: expected is Array`);
|
||||
assert.sameValue(Array.isArray(actual), true, `${message}: actual is Array`);
|
||||
assert.sameValue(actual.length, expected.length, `${message}: length`);
|
||||
|
||||
for (let i = 0; i < actual.length; ++i) {
|
||||
assert.sameValue(actual[i].type, expected[i].type, `${message}: parts[${i}].type`);
|
||||
assert.sameValue(actual[i].value, expected[i].value, `${message}: parts[${i}].value`);
|
||||
}
|
||||
}
|
||||
|
||||
const nfStyle = new Intl.NumberFormat("en-US", { style: "percent" });
|
||||
verifyFormatParts(nfStyle.formatToParts(-123), [
|
||||
{"type":"minusSign","value":"-"},
|
||||
{"type":"integer","value":"12"},
|
||||
{"type":"group","value":","},
|
||||
{"type":"integer","value":"300"},
|
||||
{"type":"percentSign","value":"%"},
|
||||
], "style");
|
||||
|
||||
const nfUnit = new Intl.NumberFormat("en-US", { style: "unit", unit: "percent" });
|
||||
verifyFormatParts(nfUnit.formatToParts(-123), [
|
||||
{"type":"minusSign","value":"-"},
|
||||
{"type":"integer","value":"123"},
|
||||
{"type":"unit","value":"%"},
|
||||
], "unit");
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.formattoparts
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [de-DE]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -22,49 +22,64 @@ function verifyFormatParts(actual, expected, message) {
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"always",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"never",
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("de-DE", {signDisplay});
|
||||
verifyFormatParts(nf.formatToParts(-987), negative);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), negativeNearZero);
|
||||
verifyFormatParts(nf.formatToParts(-0), negativeZero);
|
||||
verifyFormatParts(nf.formatToParts(0), zero);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), positiveNearZero);
|
||||
verifyFormatParts(nf.formatToParts(987), positive);
|
||||
verifyFormatParts(nf.formatToParts(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-987), expected[1], `-987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0), expected[3], `-0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0), expected[4], `0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(987), expected[6], `987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.formattoparts
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [en-US]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -22,49 +22,64 @@ function verifyFormatParts(actual, expected, message) {
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"always",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"never",
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("en-US", {signDisplay});
|
||||
verifyFormatParts(nf.formatToParts(-987), negative);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), negativeNearZero);
|
||||
verifyFormatParts(nf.formatToParts(-0), negativeZero);
|
||||
verifyFormatParts(nf.formatToParts(0), zero);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), positiveNearZero);
|
||||
verifyFormatParts(nf.formatToParts(987), positive);
|
||||
verifyFormatParts(nf.formatToParts(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-987), expected[1], `-987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0), expected[3], `-0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0), expected[4], `0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(987), expected[6], `987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.formattoparts
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [ja-JP]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -22,49 +22,64 @@ function verifyFormatParts(actual, expected, message) {
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"always",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"never",
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("ja-JP", {signDisplay});
|
||||
verifyFormatParts(nf.formatToParts(-987), negative);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), negativeNearZero);
|
||||
verifyFormatParts(nf.formatToParts(-0), negativeZero);
|
||||
verifyFormatParts(nf.formatToParts(0), zero);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), positiveNearZero);
|
||||
verifyFormatParts(nf.formatToParts(987), positive);
|
||||
verifyFormatParts(nf.formatToParts(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-987), expected[1], `-987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0), expected[3], `-0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0), expected[4], `0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(987), expected[6], `987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.formattoparts
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [ko-KR]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -22,49 +22,64 @@ function verifyFormatParts(actual, expected, message) {
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"always",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"never",
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"NaN"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("ko-KR", {signDisplay});
|
||||
verifyFormatParts(nf.formatToParts(-987), negative);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), negativeNearZero);
|
||||
verifyFormatParts(nf.formatToParts(-0), negativeZero);
|
||||
verifyFormatParts(nf.formatToParts(0), zero);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), positiveNearZero);
|
||||
verifyFormatParts(nf.formatToParts(987), positive);
|
||||
verifyFormatParts(nf.formatToParts(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-987), expected[1], `-987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0), expected[3], `-0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0), expected[4], `0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(987), expected[6], `987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.formattoparts
|
||||
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
|
||||
description: Checks handling of the signDisplay option to the NumberFormat constructor.
|
||||
locale: [zh-TW]
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
@ -22,49 +22,64 @@ function verifyFormatParts(actual, expected, message) {
|
|||
const tests = [
|
||||
[
|
||||
"auto",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"非數值"}],
|
||||
],
|
||||
[
|
||||
"always",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"nan","value":"非數值"}],
|
||||
],
|
||||
[
|
||||
"never",
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"987"}],
|
||||
[{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"非數值"}],
|
||||
],
|
||||
[
|
||||
"exceptZero",
|
||||
[{"type":"minusSign","value":"-"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"987"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"minusSign","value":"-"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"0"}],
|
||||
[{"type":"integer","value":"0"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"integer","value":"987"}],
|
||||
[{"type":"plusSign","value":"+"},{"type":"infinity","value":"∞"}],
|
||||
[{"type":"nan","value":"非數值"}],
|
||||
],
|
||||
];
|
||||
|
||||
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
|
||||
for (const [signDisplay, ...expected] of tests) {
|
||||
const nf = new Intl.NumberFormat("zh-TW", {signDisplay});
|
||||
verifyFormatParts(nf.formatToParts(-987), negative);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), negativeNearZero);
|
||||
verifyFormatParts(nf.formatToParts(-0), negativeZero);
|
||||
verifyFormatParts(nf.formatToParts(0), zero);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), positiveNearZero);
|
||||
verifyFormatParts(nf.formatToParts(987), positive);
|
||||
verifyFormatParts(nf.formatToParts(-Infinity), expected[0], `-Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-987), expected[1], `-987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0.0001), expected[2], `-0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(-0), expected[3], `-0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0), expected[4], `0 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(0.0001), expected[5], `0.0001 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(987), expected[6], `987 (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(Infinity), expected[7], `Infinity (${signDisplay})`);
|
||||
verifyFormatParts(nf.formatToParts(NaN), expected[8], `NaN (${signDisplay})`);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright 2019 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-intl.numberformat.prototype.resolvedoptions
|
||||
description: Verifies the existence of the compactDisplay property for the object returned by resolvedOptions().
|
||||
features: [Intl.NumberFormat-unified]
|
||||
---*/
|
||||
|
||||
for (const notation of [undefined, "standard", "scientific", "engineering"]) {
|
||||
const options = new Intl.NumberFormat([], {
|
||||
notation,
|
||||
compactDisplay: "long",
|
||||
}).resolvedOptions();
|
||||
assert.sameValue("compactDisplay" in options, false, `There should be no compactDisplay property with notation=${notation}`);
|
||||
assert.sameValue(options.compactDisplay, undefined, `The compactDisplay property should be undefined with notation=${notation}`);
|
||||
}
|
||||
|
||||
const options = new Intl.NumberFormat([], {
|
||||
notation: "compact",
|
||||
compactDisplay: "long",
|
||||
}).resolvedOptions();
|
||||
assert.sameValue("compactDisplay" in options, true, "There should be a compactDisplay property with notation=compact");
|
||||
assert.sameValue(options.compactDisplay, "long", "The compactDisplay property should be defined with notation=compact");
|
Loading…
Reference in New Issue