diff options
Diffstat (limited to 'deps/v8/test/intl/number-format/unified/percent.js')
-rw-r--r-- | deps/v8/test/intl/number-format/unified/percent.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/deps/v8/test/intl/number-format/unified/percent.js b/deps/v8/test/intl/number-format/unified/percent.js new file mode 100644 index 0000000000..9918210ec7 --- /dev/null +++ b/deps/v8/test/intl/number-format/unified/percent.js @@ -0,0 +1,65 @@ +// 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 the handling of "percent" w/ "unit" + +let nf1 = new Intl.NumberFormat("en-US", { + style: "percent", + unitDisplay: "long" // Read, but ignored. +}); + +let resolved1 = nf1.resolvedOptions(); +assertEquals("percent", resolved1.style); +assertEquals(undefined, resolved1.unit); +assertEquals(undefined, resolved1.unitDisplay); + +let parts1 = nf1.formatToParts(100); +assertEquals(4, parts1.length); +assertEquals("integer", parts1[0].type); +assertEquals("10", parts1[0].value); +assertEquals("group", parts1[1].type); +assertEquals(",", parts1[1].value); +assertEquals("integer", parts1[2].type); +assertEquals("000", parts1[2].value); +assertEquals("percentSign", parts1[3].type); +assertEquals("%", parts1[3].value); + +let nf2 = new Intl.NumberFormat("en-US", { + style: "unit", + unit: "percent", + unitDisplay: "long" // This is OK +}); + +let resolved2 = nf2.resolvedOptions(); +assertEquals("unit", resolved2.style); +assertEquals("percent", resolved2.unit); +assertEquals("long", resolved2.unitDisplay); + +let parts2 = nf2.formatToParts(100); +assertEquals(3, parts2.length); +assertEquals("integer", parts2[0].type); +assertEquals("100", parts2[0].value); +assertEquals("literal", parts2[1].type); +assertEquals(" ", parts2[1].value); +assertEquals("unit", parts2[2].type); +assertEquals("percent", parts2[2].value); + +let nf3 = new Intl.NumberFormat("en-US", { + style: "unit", + unit: "percent" +}); + +let resolved3 = nf3.resolvedOptions(); +assertEquals("unit", resolved3.style); +assertEquals("percent", resolved3.unit); +assertEquals("short", resolved3.unitDisplay); + +let parts3 = nf3.formatToParts(100); +assertEquals(2, parts3.length); +assertEquals("integer", parts3[0].type); +assertEquals("100", parts3[0].value); +assertEquals("unit", parts3[1].type); +assertEquals("%", parts3[1].value); |