summaryrefslogtreecommitdiff
path: root/deps/v8/test/intl/number-format/unified/sign-display.js
blob: c71f57e67c7677d80e08eaaef84ae698675bda90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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("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"],
];

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));
}