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