From 4d23bbf00a52535c6329b4dfce554891faad0efd Mon Sep 17 00:00:00 2001 From: jugglinmike Date: Fri, 3 Dec 2021 19:51:57 -0500 Subject: [PATCH] Add tests for "Intl NumberFormat v3" proposal (#3307) * Add tests for "Intl NumberFormat v3" proposal This patch is intended to cover only one aspect of the proposal for ECMA402: the "interpret strings as decimals" feature. * fixup! Add tests for "Intl NumberFormat v3" proposal --- .../prototype/format/value-decimal-string.js | 24 +++++++++++++++++++ .../prototype/format/value-tonumber.js | 4 +++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 test/intl402/NumberFormat/prototype/format/value-decimal-string.js diff --git a/test/intl402/NumberFormat/prototype/format/value-decimal-string.js b/test/intl402/NumberFormat/prototype/format/value-decimal-string.js new file mode 100644 index 0000000000..600655a162 --- /dev/null +++ b/test/intl402/NumberFormat/prototype/format/value-decimal-string.js @@ -0,0 +1,24 @@ +// Copyright (C) 2021 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-number-format-functions +description: > + Intl.NumberFormat.prototype.format converts its argument (called value) to a + number using ToIntlMathematicalValue. +features: [Intl.NumberFormat-v3] +locale: [en-US] +---*/ + +var nf = new Intl.NumberFormat('en-US'); + +// The value 100,000 should only be interpreted as infinity if the input is the +// string "Infinity". +assert.sameValue(nf.format('100000'), '100,000'); +// The value -100,000 should only be interpreted as negative infinity if the +// input is the string "-Infinity". +assert.sameValue(nf.format('-100000'), '-100,000'); + +assert.sameValue(nf.format('1.0000000000000001'), '1.0000000000000001'); +assert.sameValue(nf.format('-1.0000000000000001'), '1.0000000000000001'); +assert.sameValue(nf.format('987654321987654321'), '987,654,321,987,654,321'); +assert.sameValue(nf.format('-987654321987654321'), '-987,654,321,987,654,321'); diff --git a/test/intl402/NumberFormat/prototype/format/value-tonumber.js b/test/intl402/NumberFormat/prototype/format/value-tonumber.js index 710955a684..055784b7d6 100644 --- a/test/intl402/NumberFormat/prototype/format/value-tonumber.js +++ b/test/intl402/NumberFormat/prototype/format/value-tonumber.js @@ -19,7 +19,9 @@ const toNumberResults = [ [true, 1], [false, 0], ['42', 42], - ['foo', NaN] + ['foo', NaN], + ['Infinity', Infinity], + ['-Infinity', -Infinity] ]; const nf = new Intl.NumberFormat();