42 lines
1.5 KiB
JavaScript
42 lines
1.5 KiB
JavaScript
|
// Copyright 2019 the V8 project authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
// Flags: --harmony-intl-numberformat-unified
|
||
|
|
||
|
// Test default.
|
||
|
let nf = new Intl.NumberFormat();
|
||
|
assertEquals(undefined, nf.resolvedOptions().currencySign);
|
||
|
|
||
|
nf = new Intl.NumberFormat("en");
|
||
|
assertEquals(undefined, nf.resolvedOptions().currencySign);
|
||
|
|
||
|
nf = new Intl.NumberFormat("en", {style: 'decimal'});
|
||
|
assertEquals(undefined, nf.resolvedOptions().currencySign);
|
||
|
|
||
|
nf = new Intl.NumberFormat("en", {style: 'percent'});
|
||
|
assertEquals(undefined, nf.resolvedOptions().currencySign);
|
||
|
|
||
|
nf = new Intl.NumberFormat("en", {style: 'unit', unit: "meter"});
|
||
|
assertEquals(undefined, nf.resolvedOptions().currencySign);
|
||
|
|
||
|
|
||
|
nf = new Intl.NumberFormat("en", {style: 'currency', currency: "TWD"});
|
||
|
assertEquals("standard", nf.resolvedOptions().currencySign);
|
||
|
|
||
|
const testData = [
|
||
|
["standard", "-NT$123.40", "-NT$0.00", "NT$0.00", "NT$123.40"],
|
||
|
["accounting", "(NT$123.40)", "(NT$0.00)", "NT$0.00", "NT$123.40"],
|
||
|
];
|
||
|
|
||
|
for (const [currencySign, neg, negZero, zero, pos] of testData) {
|
||
|
nf = new Intl.NumberFormat("en", {style: 'currency', currency: "TWD",
|
||
|
currencySign});
|
||
|
assertEquals('currency', nf.resolvedOptions().style);
|
||
|
assertEquals(currencySign, nf.resolvedOptions().currencySign);
|
||
|
assertEquals(neg, nf.format(-123.4));
|
||
|
assertEquals(negZero, nf.format(-0));
|
||
|
assertEquals(zero, nf.format(0));
|
||
|
assertEquals(pos, nf.format(123.4));
|
||
|
}
|