250b2e2972
Implement ALL in NumberFormat v3 except: * Add PluralRules.prototype.selectRange * Add NumberFormat.prototype.formatRange(ToParts)? (which will be reviewed in later CLs) * Change NumberFormat.prototpe.resolvedOptions https://github.com/tc39/proposal-intl-numberformat-v3 https://chromestatus.com/guide/edit/5707621009981440 Design Doc: https://docs.google.com/document/d/19jAogPBb6W4Samt8NWGZKu47iv0_KoQhBvLgQH3xvr8/edit Bug: v8:10776 Change-Id: I1acf833ec25fb05437cb0b21c5510bb99d1c4583 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3405649 Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#78878}
30 lines
1015 B
JavaScript
30 lines
1015 B
JavaScript
// Copyright 2021 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-number-format-v3
|
|
|
|
// Test default.
|
|
let nf = new Intl.NumberFormat();
|
|
assertEquals("auto", nf.resolvedOptions().signDisplay);
|
|
|
|
nf = new Intl.NumberFormat("en");
|
|
assertEquals("auto", nf.resolvedOptions().signDisplay);
|
|
|
|
const testData = [
|
|
["auto", "-123", "-0", "0", "123"],
|
|
["always", "-123", "-0", "+0", "+123"],
|
|
["never", "123", "0", "0", "123"],
|
|
["exceptZero", "-123", "0", "0", "+123"],
|
|
["negative", "-123", "0", "0", "123"],
|
|
];
|
|
|
|
for (const [signDisplay, neg, negZero, zero, pos] of testData) {
|
|
nf = new Intl.NumberFormat("en", {signDisplay});
|
|
assertEquals(signDisplay, nf.resolvedOptions().signDisplay);
|
|
assertEquals(neg, nf.format(-123));
|
|
assertEquals(negZero, nf.format(-0));
|
|
assertEquals(zero, nf.format(0));
|
|
assertEquals(pos, nf.format(123));
|
|
}
|