From 6d5a7adf4e6a39574943c2e55ef4e3e0659593dd Mon Sep 17 00:00:00 2001 From: Leo Balter Date: Tue, 30 Jan 2018 17:43:30 -0500 Subject: [PATCH] Fix ToNumber operations --- test/built-ins/Number/S8.12.8_A4.js | 4 +- ...numeric-separator-literal-bil-bd-nsl-bd.js | 10 ++-- ...umeric-separator-literal-bil-bd-nsl-bds.js | 10 ++-- ...umeric-separator-literal-bil-bds-nsl-bd.js | 10 ++-- ...meric-separator-literal-bil-bds-nsl-bds.js | 10 ++-- ...teral-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js | 8 +-- ...eral-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js | 8 +-- ...iteral-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js | 8 +-- ...teral-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js | 8 +-- ...eric-separator-literal-dd-nsl-dd-one-of.js | 25 ++++++---- ...parator-literal-dds-dot-dd-nsl-dd-ep-dd.js | 8 +-- ...ng-numeric-separator-literal-dds-nsl-dd.js | 23 +++++---- ...eric-separator-literal-dot-dd-nsl-dd-ep.js | 8 +-- ...ric-separator-literal-dot-dd-nsl-dds-ep.js | 8 +-- ...ric-separator-literal-dot-dds-nsl-dd-ep.js | 8 +-- ...ic-separator-literal-dot-dds-nsl-dds-ep.js | 8 +-- ...numeric-separator-literal-hil-hd-nsl-hd.js | 10 ++-- ...umeric-separator-literal-hil-hd-nsl-hds.js | 10 ++-- ...umeric-separator-literal-hil-hds-nsl-hd.js | 10 ++-- ...meric-separator-literal-hil-hds-nsl-hds.js | 10 ++-- ...-separator-literal-hil-od-nsl-od-one-of.js | 50 ++++++++++--------- ...ric-separator-literal-nzd-nsl-dd-one-of.js | 25 ++++++---- ...ng-numeric-separator-literal-nzd-nsl-dd.js | 7 ++- ...g-numeric-separator-literal-nzd-nsl-dds.js | 7 ++- ...-separator-literal-oil-od-nsl-od-one-of.js | 22 ++++---- ...numeric-separator-literal-oil-od-nsl-od.js | 10 ++-- ...umeric-separator-literal-oil-od-nsl-ods.js | 10 ++-- ...umeric-separator-literal-oil-ods-nsl-od.js | 10 ++-- ...meric-separator-literal-oil-ods-nsl-ods.js | 10 ++-- ...separator-literal-sign-minus-dds-nsl-dd.js | 25 ++++++---- ...-separator-literal-sign-plus-dds-nsl-dd.js | 26 +++++----- ...teral-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js | 4 +- ...eral-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js | 4 +- ...iteral-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js | 3 +- ...teral-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js | 4 +- ...eric-separator-literal-dd-nsl-dd-one-of.js | 4 +- ...parator-literal-dds-dot-dd-nsl-dd-ep-dd.js | 4 +- ...er-numeric-separator-literal-dds-nsl-dd.js | 4 +- ...eric-separator-literal-dot-dd-nsl-dd-ep.js | 4 +- ...ric-separator-literal-dot-dd-nsl-dds-ep.js | 4 +- ...ric-separator-literal-dot-dds-nsl-dd-ep.js | 4 +- ...ic-separator-literal-dot-dds-nsl-dds-ep.js | 4 +- ...ric-separator-literal-nzd-nsl-dd-one-of.js | 4 +- ...er-numeric-separator-literal-nzd-nsl-dd.js | 4 +- ...r-numeric-separator-literal-nzd-nsl-dds.js | 4 +- ...-separator-literal-sign-plus-dds-nsl-dd.js | 5 +- 46 files changed, 279 insertions(+), 187 deletions(-) diff --git a/test/built-ins/Number/S8.12.8_A4.js b/test/built-ins/Number/S8.12.8_A4.js index ee9c8d4f2c..1a1aa0894f 100644 --- a/test/built-ins/Number/S8.12.8_A4.js +++ b/test/built-ins/Number/S8.12.8_A4.js @@ -13,7 +13,7 @@ description: > try { - var __obj = {valueOf:function(){return new Object;},toString: function() {return new Object();}} + var __obj = {valueOf:function(){return new Object;},toString: function() {return new Object();}} Number(__obj); $ERROR('#1.1: var __obj = {valueOf:function(){return new Object;},toNumber: function() {return new Object();}}; Number(__obj) throw TypeError. Actual: ' + (Number(__obj))); } @@ -21,5 +21,5 @@ catch(e) { if ((e instanceof TypeError) !== true) { $ERROR('#1.2: var __obj = {valueOf:function(){return new Object;},toNumber: function() {return new Object();}}; Number(__obj) throw TypeError. Actual: ' + (e)); - } + } } diff --git a/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bd.js b/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bd.js index 748c90a1e1..a20a4a9783 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0b` | `0B` BinaryDigit NumericLiteralSeparator BinaryDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0b` | `0B` BinaryDigit NumericLiteralSeparator BinaryDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | BinaryDigit :: one of 0 1 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0b0_1"), 0b01); -assert.sameValue(Number("0B0_1"), 0B01); +assert.sameValue(Number("0b0_1"), NaN, "0b0_1"); +assert.sameValue(Number("0B0_1"), NaN, "0B0_1"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bds.js b/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bds.js index 71dca2627d..9fa08cabb9 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bds.js +++ b/test/built-ins/Number/string-numeric-separator-literal-bil-bd-nsl-bds.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0b` | `0B` BinaryDigit NumericLiteralSeparator BinaryDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0b` | `0B` BinaryDigit NumericLiteralSeparator BinaryDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | BinaryDigit :: one of 0 1 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0b0_10"), 0b010); -assert.sameValue(Number("0B0_10"), 0B010); +assert.sameValue(Number("0b0_10"), NaN, "0b0_10"); +assert.sameValue(Number("0B0_10"), NaN, "0B0_10"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bd.js b/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bd.js index 0b875e4af3..d1121b265a 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0b` | `0B` BinaryDigits NumericLiteralSeparator BinaryDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0b` | `0B` BinaryDigits NumericLiteralSeparator BinaryDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | BinaryDigit :: one of 0 1 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0b01_0"), 0b010); -assert.sameValue(Number("0B01_0"), 0B010); +assert.sameValue(Number("0b01_0"), NaN, "0b01_0"); +assert.sameValue(Number("0B01_0"), NaN, "0B01_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bds.js b/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bds.js index 09e40465c6..c55c2ea8af 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bds.js +++ b/test/built-ins/Number/string-numeric-separator-literal-bil-bds-nsl-bds.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0b` | `0B` BinaryDigits NumericLiteralSeparator BinaryDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0b` | `0B` BinaryDigits NumericLiteralSeparator BinaryDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | BinaryDigit :: one of 0 1 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0b01_00"), 0b0100); -assert.sameValue(Number("0B01_00"), 0B0100); +assert.sameValue(Number("0b01_00"), NaN, "0b01_00"); +assert.sameValue(Number("0B01_00"), NaN, "0B01_00"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js index 3ec1c859a8..3d75158e2e 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - DecimalDigits `.` DecimalDigits ExponentPart_opt `-` DecimalDigits +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + DecimalDigits `.` DecimalDigits ExponentPart_opt `-` DecimalDigits + NumericLiteralSeparator :: _ @@ -21,6 +22,7 @@ info: | - DecimalDigits ... +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1.0e-1_0"), 1.0e-10); +assert.sameValue(Number("1.0e-1_0"), NaN, "1.0e-1_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js index 489e27e287..a02d0dd286 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - DecimalDigits `.` DecimalDigits ExponentPart_opt `-` DecimalDigits +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + DecimalDigits `.` DecimalDigits ExponentPart_opt `-` DecimalDigits + NumericLiteralSeparator :: _ @@ -21,6 +22,7 @@ info: | - DecimalDigits ... +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1.0e-10_0"), 1.0e-100); +assert.sameValue(Number("1.0e-10_0"), NaN, "1.0e-10_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js index de2f3b67bd..2eda5ccce7 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - DecimalDigits `.` DecimalDigits ExponentPart_opt `+` DecimalDigits +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + DecimalDigits `.` DecimalDigits ExponentPart_opt `+` DecimalDigits + NumericLiteralSeparator :: _ @@ -21,6 +22,7 @@ info: | + DecimalDigits ... +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1.0e+1_0"), 1.0e+10); +assert.sameValue(Number("1.0e+1_0"), NaN, "1.0e+1_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js index dc1b9fa34c..36d2d44bfe 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - DecimalDigits `.` DecimalDigits ExponentPart_opt `+` DecimalDigits +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + DecimalDigits `.` DecimalDigits ExponentPart_opt `+` DecimalDigits + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | + DecimalDigits ... +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1.0e+10_0"), 1.0e+100); +assert.sameValue(Number("1.0e+10_0"), NaN, "1.0e+10_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dd-nsl-dd-one-of.js b/test/built-ins/Number/string-numeric-separator-literal-dd-nsl-dd-one-of.js index 8f532ab3ea..87894626ca 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dd-nsl-dd-one-of.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dd-nsl-dd-one-of.js @@ -3,8 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: NonZeroDigit NumericLiteralSeparator DecimalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + NonZeroDigit NumericLiteralSeparator DecimalDigits + NumericLiteralSeparator :: _ @@ -20,15 +22,16 @@ info: | DecimalDigit :: one of 0 1 2 3 4 5 6 7 8 9 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1_0"), 10); -assert.sameValue(Number("1_1"), 11); -assert.sameValue(Number("1_2"), 12); -assert.sameValue(Number("1_3"), 13); -assert.sameValue(Number("1_4"), 14); -assert.sameValue(Number("1_5"), 15); -assert.sameValue(Number("1_6"), 16); -assert.sameValue(Number("1_7"), 17); -assert.sameValue(Number("1_8"), 18); -assert.sameValue(Number("1_9"), 19); +assert.sameValue(Number("1_0"), NaN, "1_0"); +assert.sameValue(Number("1_1"), NaN, "1_1"); +assert.sameValue(Number("1_2"), NaN, "1_2"); +assert.sameValue(Number("1_3"), NaN, "1_3"); +assert.sameValue(Number("1_4"), NaN, "1_4"); +assert.sameValue(Number("1_5"), NaN, "1_5"); +assert.sameValue(Number("1_6"), NaN, "1_6"); +assert.sameValue(Number("1_7"), NaN, "1_7"); +assert.sameValue(Number("1_8"), NaN, "1_8"); +assert.sameValue(Number("1_9"), NaN, "1_9"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js b/test/built-ins/Number/string-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js index 3928f9e034..90ed6ce497 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js @@ -3,10 +3,11 @@ /*--- esid: prod-NumericLiteralSeparator -description: > +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations +info: | DecimalDigits `.` DecimalDigits NumericLiteralSeparator DecimalDigits ExponentPart SignedInteger -info: | + NumericLiteralSeparator :: _ @@ -20,6 +21,7 @@ info: | ExponentIndicator :: one of e E +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("10.00_01e2"), 10.0001e2); +assert.sameValue(Number("10.00_01e2"), NaN, "10.00_01e2"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dds-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-dds-nsl-dd.js index 4ce91e862b..03bf245155 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dds-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dds-nsl-dd.js @@ -4,7 +4,7 @@ /*--- esid: prod-NumericLiteralSeparator description: DecimalDigits NumericLiteralSeparator DecimalDigit -info: | +info: NumericLiteralSeparator :: _ @@ -12,15 +12,16 @@ info: | ... DecimalDigits NumericLiteralSeparator DecimalDigit +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("123456789_0"), 1234567890); -assert.sameValue(Number("123456789_1"), 1234567891); -assert.sameValue(Number("123456789_2"), 1234567892); -assert.sameValue(Number("123456789_3"), 1234567893); -assert.sameValue(Number("123456789_4"), 1234567894); -assert.sameValue(Number("123456789_5"), 1234567895); -assert.sameValue(Number("123456789_6"), 1234567896); -assert.sameValue(Number("123456789_7"), 1234567897); -assert.sameValue(Number("123456789_8"), 1234567898); -assert.sameValue(Number("123456789_9"), 1234567899); +assert.sameValue(Number("123456789_0"), NaN, "123456789_0"); +assert.sameValue(Number("123456789_1"), NaN, "123456789_1"); +assert.sameValue(Number("123456789_2"), NaN, "123456789_2"); +assert.sameValue(Number("123456789_3"), NaN, "123456789_3"); +assert.sameValue(Number("123456789_4"), NaN, "123456789_4"); +assert.sameValue(Number("123456789_5"), NaN, "123456789_5"); +assert.sameValue(Number("123456789_6"), NaN, "123456789_6"); +assert.sameValue(Number("123456789_7"), NaN, "123456789_7"); +assert.sameValue(Number("123456789_8"), NaN, "123456789_8"); +assert.sameValue(Number("123456789_9"), NaN, "123456789_9"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dd-ep.js b/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dd-ep.js index e3b1c41500..ac9fdc45c2 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dd-ep.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dd-ep.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `.` DecimalDigit NumericLiteralSeparator DecimalDigit ExponentPart +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `.` DecimalDigit NumericLiteralSeparator DecimalDigit ExponentPart + NumericLiteralSeparator :: _ @@ -20,6 +21,7 @@ info: | ExponentIndicator :: one of e E +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number(".0_1e2"), .01e2); +assert.sameValue(Number(".0_1e2"), NaN, ".0_1e2"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dds-ep.js b/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dds-ep.js index eb5ad47b25..9a36a887f9 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dds-ep.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dot-dd-nsl-dds-ep.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `.` DecimalDigit NumericLiteralSeparator DecimalDigits ExponentPart +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `.` DecimalDigit NumericLiteralSeparator DecimalDigits ExponentPart + NumericLiteralSeparator :: _ @@ -20,6 +21,7 @@ info: | ExponentIndicator :: one of e E +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number(".1_01e2"), .101e2); +assert.sameValue(Number(".1_01e2"), NaN, ".1_01e2"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dd-ep.js b/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dd-ep.js index 87f436fa68..327f4a8308 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dd-ep.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dd-ep.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `.` DecimalDigits NumericLiteralSeparator DecimalDigit ExponentPart +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `.` DecimalDigits NumericLiteralSeparator DecimalDigit ExponentPart + NumericLiteralSeparator :: _ @@ -20,6 +21,7 @@ info: | ExponentIndicator :: one of e E +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number(".10_1e2"), .101e2); +assert.sameValue(Number(".10_1e2"), NaN, ".10_1e2"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dds-ep.js b/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dds-ep.js index fccfc7a0e0..ea12b4a351 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dds-ep.js +++ b/test/built-ins/Number/string-numeric-separator-literal-dot-dds-nsl-dds-ep.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `.` DecimalDigits NumericLiteralSeparator DecimalDigits ExponentPart +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `.` DecimalDigits NumericLiteralSeparator DecimalDigits ExponentPart + NumericLiteralSeparator :: _ @@ -20,6 +21,7 @@ info: | ExponentIndicator :: one of e E +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number(".00_01e2"), .0001e2); +assert.sameValue(Number(".00_01e2"), NaN, ".00_01e2"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hd.js b/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hd.js index ffa72cd660..bedf2f3e31 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0x` | `0X` HexDigit NumericLiteralSeparator HexDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0x` | `0X` HexDigit NumericLiteralSeparator HexDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | HexDigit::one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0x0_1"), 0x01); -assert.sameValue(Number("0X0_1"), 0X01); +assert.sameValue(Number("0x0_1"), NaN, "0x0_1"); +assert.sameValue(Number("0X0_1"), NaN, "0X0_1"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hds.js b/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hds.js index 300ab9e960..0da5df60c4 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hds.js +++ b/test/built-ins/Number/string-numeric-separator-literal-hil-hd-nsl-hds.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0x` | `0X` HexDigit NumericLiteralSeparator HexDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0x` | `0X` HexDigit NumericLiteralSeparator HexDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | HexDigit::one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0x0_10"), 0x010); -assert.sameValue(Number("0X0_10"), 0X010); +assert.sameValue(Number("0x0_10"), NaN, "0x0_10"); +assert.sameValue(Number("0X0_10"), NaN, "0X0_10"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hd.js b/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hd.js index bdfb33c0cf..1f4a09b9fa 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hd.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0x` | `0X` HexDigits NumericLiteralSeparator HexDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0x` | `0X` HexDigits NumericLiteralSeparator HexDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | HexDigit::one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0x01_0"), 0x010); -assert.sameValue(Number("0X01_0"), 0X010); +assert.sameValue(Number("0x01_0"), NaN, "0x01_0"); +assert.sameValue(Number("0X01_0"), NaN, "0X01_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hds.js b/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hds.js index e379ab2c02..70ea4f84b1 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hds.js +++ b/test/built-ins/Number/string-numeric-separator-literal-hil-hds-nsl-hds.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0x` | `0X` HexDigits NumericLiteralSeparator HexDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0x` | `0X` HexDigits NumericLiteralSeparator HexDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | HexDigit::one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0x01_00"), 0x0100); -assert.sameValue(Number("0X01_00"), 0X0100); +assert.sameValue(Number("0x01_00"), NaN, "0x01_00"); +assert.sameValue(Number("0X01_00"), NaN, "0X01_00"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-hil-od-nsl-od-one-of.js b/test/built-ins/Number/string-numeric-separator-literal-hil-od-nsl-od-one-of.js index ded211717b..ab9193a949 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-hil-od-nsl-od-one-of.js +++ b/test/built-ins/Number/string-numeric-separator-literal-hil-od-nsl-od-one-of.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0x` | `0X` HexDigit NumericLiteralSeparator HexDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0x` | `0X` HexDigit NumericLiteralSeparator HexDigit + NumericLiteralSeparator :: _ @@ -21,27 +22,28 @@ info: | HexDigit::one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0x0_0"), 0x00); -assert.sameValue(Number("0x1_1"), 0x11); -assert.sameValue(Number("0x2_2"), 0x22); -assert.sameValue(Number("0x3_3"), 0x33); -assert.sameValue(Number("0x4_4"), 0x44); -assert.sameValue(Number("0x5_5"), 0x55); -assert.sameValue(Number("0x6_6"), 0x66); -assert.sameValue(Number("0x7_7"), 0x77); -assert.sameValue(Number("0x8_8"), 0x88); -assert.sameValue(Number("0x9_9"), 0x99); -assert.sameValue(Number("0xa_a"), 0xaa); -assert.sameValue(Number("0xb_b"), 0xbb); -assert.sameValue(Number("0xc_c"), 0xcc); -assert.sameValue(Number("0xd_d"), 0xdd); -assert.sameValue(Number("0xe_e"), 0xee); -assert.sameValue(Number("0xf_f"), 0xff); -assert.sameValue(Number("0xA_A"), 0xAA); -assert.sameValue(Number("0xB_B"), 0xBB); -assert.sameValue(Number("0xC_C"), 0xCC); -assert.sameValue(Number("0xD_D"), 0xDD); -assert.sameValue(Number("0xE_E"), 0xEE); -assert.sameValue(Number("0xF_F"), 0xFF); +assert.sameValue(Number("0x0_0"), NaN, "0x0_0"); +assert.sameValue(Number("0x1_1"), NaN, "0x1_1"); +assert.sameValue(Number("0x2_2"), NaN, "0x2_2"); +assert.sameValue(Number("0x3_3"), NaN, "0x3_3"); +assert.sameValue(Number("0x4_4"), NaN, "0x4_4"); +assert.sameValue(Number("0x5_5"), NaN, "0x5_5"); +assert.sameValue(Number("0x6_6"), NaN, "0x6_6"); +assert.sameValue(Number("0x7_7"), NaN, "0x7_7"); +assert.sameValue(Number("0x8_8"), NaN, "0x8_8"); +assert.sameValue(Number("0x9_9"), NaN, "0x9_9"); +assert.sameValue(Number("0xa_a"), NaN, "0xa_a"); +assert.sameValue(Number("0xb_b"), NaN, "0xb_b"); +assert.sameValue(Number("0xc_c"), NaN, "0xc_c"); +assert.sameValue(Number("0xd_d"), NaN, "0xd_d"); +assert.sameValue(Number("0xe_e"), NaN, "0xe_e"); +assert.sameValue(Number("0xf_f"), NaN, "0xf_f"); +assert.sameValue(Number("0xA_A"), NaN, "0xA_A"); +assert.sameValue(Number("0xB_B"), NaN, "0xB_B"); +assert.sameValue(Number("0xC_C"), NaN, "0xC_C"); +assert.sameValue(Number("0xD_D"), NaN, "0xD_D"); +assert.sameValue(Number("0xE_E"), NaN, "0xE_E"); +assert.sameValue(Number("0xF_F"), NaN, "0xF_F"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd-one-of.js b/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd-one-of.js index eec4e828c1..1b48592c98 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd-one-of.js +++ b/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd-one-of.js @@ -3,8 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: NonZeroDigit NumericLiteralSeparator DecimalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + NonZeroDigit NumericLiteralSeparator DecimalDigits + NumericLiteralSeparator :: _ @@ -22,17 +24,18 @@ info: | DecimalDigit :: one of 0 1 2 3 4 5 6 7 8 9 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1_0"), 10); -assert.sameValue(Number("1_1"), 11); -assert.sameValue(Number("2_2"), 22); -assert.sameValue(Number("3_3"), 33); -assert.sameValue(Number("4_4"), 44); -assert.sameValue(Number("5_5"), 55); -assert.sameValue(Number("6_6"), 66); -assert.sameValue(Number("7_7"), 77); -assert.sameValue(Number("8_8"), 88); -assert.sameValue(Number("9_9"), 99); +assert.sameValue(Number("1_0"), NaN, "1_0"); +assert.sameValue(Number("1_1"), NaN, "1_1"); +assert.sameValue(Number("2_2"), NaN, "2_2"); +assert.sameValue(Number("3_3"), NaN, "3_3"); +assert.sameValue(Number("4_4"), NaN, "4_4"); +assert.sameValue(Number("5_5"), NaN, "5_5"); +assert.sameValue(Number("6_6"), NaN, "6_6"); +assert.sameValue(Number("7_7"), NaN, "7_7"); +assert.sameValue(Number("8_8"), NaN, "8_8"); +assert.sameValue(Number("9_9"), NaN, "9_9"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd.js index 7ec57ad614..18c74bf136 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dd.js @@ -3,8 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: NonZeroDigit NumericLiteralSeparator DecimalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + NonZeroDigit NumericLiteralSeparator DecimalDigits + NumericLiteralSeparator :: _ @@ -20,6 +22,7 @@ info: | DecimalDigits DecimalDigit ... +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1_1"), 11); +assert.sameValue(Number("1_1"), NaN, "1_1"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dds.js b/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dds.js index 7410a68f87..66889a6297 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dds.js +++ b/test/built-ins/Number/string-numeric-separator-literal-nzd-nsl-dds.js @@ -3,8 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: NonZeroDigit NumericLiteralSeparator DecimalDigits +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + NonZeroDigit NumericLiteralSeparator DecimalDigits + NumericLiteralSeparator :: _ @@ -20,6 +22,7 @@ info: | DecimalDigits DecimalDigit ... +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("1_0123456789"), 10123456789); +assert.sameValue(Number("1_0123456789"), NaN, "1_0123456789"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od-one-of.js b/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od-one-of.js index ceec7a92c0..2ea4e5f66e 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od-one-of.js +++ b/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od-one-of.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0o` | `0O` OctalDigit NumericLiteralSeparator OctalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0o` | `0O` OctalDigit NumericLiteralSeparator OctalDigit + NumericLiteralSeparator :: _ @@ -21,13 +22,14 @@ info: | OctalDigit :: one of 0 1 2 3 4 5 6 7 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0o0_0"), 0o00); -assert.sameValue(Number("0o1_1"), 0o11); -assert.sameValue(Number("0o2_2"), 0o22); -assert.sameValue(Number("0o3_3"), 0o33); -assert.sameValue(Number("0o4_4"), 0o44); -assert.sameValue(Number("0o5_5"), 0o55); -assert.sameValue(Number("0o6_6"), 0o66); -assert.sameValue(Number("0o7_7"), 0o77); +assert.sameValue(Number("0o0_0"), NaN, "0o0_0"); +assert.sameValue(Number("0o1_1"), NaN, "0o1_1"); +assert.sameValue(Number("0o2_2"), NaN, "0o2_2"); +assert.sameValue(Number("0o3_3"), NaN, "0o3_3"); +assert.sameValue(Number("0o4_4"), NaN, "0o4_4"); +assert.sameValue(Number("0o5_5"), NaN, "0o5_5"); +assert.sameValue(Number("0o6_6"), NaN, "0o6_6"); +assert.sameValue(Number("0o7_7"), NaN, "0o7_7"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od.js b/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od.js index aa4dedf3b5..db5c00d965 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od.js +++ b/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-od.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0o` | `0O` OctalDigit NumericLiteralSeparator OctalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0o` | `0O` OctalDigit NumericLiteralSeparator OctalDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | OctalDigit :: one of 0 1 2 3 4 5 6 7 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0o0_1"), 0o01); -assert.sameValue(Number("0O0_1"), 0O01); +assert.sameValue(Number("0o0_1"), NaN, "0o0_1"); +assert.sameValue(Number("0O0_1"), NaN, "0O0_1"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-ods.js b/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-ods.js index 44ffef8015..42b00e6639 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-ods.js +++ b/test/built-ins/Number/string-numeric-separator-literal-oil-od-nsl-ods.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0o` | `0O` OctalDigit NumericLiteralSeparator OctalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0o` | `0O` OctalDigit NumericLiteralSeparator OctalDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | OctalDigit :: one of 0 1 2 3 4 5 6 7 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0o0_10"), 0o010); -assert.sameValue(Number("0O0_10"), 0O010); +assert.sameValue(Number("0o0_10"), NaN, "0o0_10"); +assert.sameValue(Number("0O0_10"), NaN, "0O0_10"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-od.js b/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-od.js index ee2e0aa2a8..25eba4333c 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-od.js +++ b/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-od.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0o` | `0O` OctalDigits NumericLiteralSeparator OctalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0o` | `0O` OctalDigits NumericLiteralSeparator OctalDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | OctalDigit :: one of 0 1 2 3 4 5 6 7 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0o01_0"), 0o010); -assert.sameValue(Number("0O01_0"), 0O010); +assert.sameValue(Number("0o01_0"), NaN, "0o01_0"); +assert.sameValue(Number("0O01_0"), NaN, "0O01_0"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-ods.js b/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-ods.js index 77c6e414cf..df2a703984 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-ods.js +++ b/test/built-ins/Number/string-numeric-separator-literal-oil-ods-nsl-ods.js @@ -3,9 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: > - `0o` | `0O` OctalDigits NumericLiteralSeparator OctalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + `0o` | `0O` OctalDigits NumericLiteralSeparator OctalDigit + NumericLiteralSeparator :: _ @@ -21,7 +22,8 @@ info: | OctalDigit :: one of 0 1 2 3 4 5 6 7 +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("0o01_00"), 0o0100); -assert.sameValue(Number("0O01_00"), 0O0100); +assert.sameValue(Number("0o01_00"), NaN, "0o01_00"); +assert.sameValue(Number("0O01_00"), NaN, "0O01_00"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-sign-minus-dds-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-sign-minus-dds-nsl-dd.js index 060a03416a..4c3f178eb5 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-sign-minus-dds-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-sign-minus-dds-nsl-dd.js @@ -3,8 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: DecimalDigits NumericLiteralSeparator DecimalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + DecimalDigits NumericLiteralSeparator DecimalDigit + NumericLiteralSeparator :: _ @@ -12,15 +14,16 @@ info: | ... - DecimalDigits +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("-123456789_0"), -1234567890); -assert.sameValue(Number("-123456789_1"), -1234567891); -assert.sameValue(Number("-123456789_2"), -1234567892); -assert.sameValue(Number("-123456789_3"), -1234567893); -assert.sameValue(Number("-123456789_4"), -1234567894); -assert.sameValue(Number("-123456789_5"), -1234567895); -assert.sameValue(Number("-123456789_6"), -1234567896); -assert.sameValue(Number("-123456789_7"), -1234567897); -assert.sameValue(Number("-123456789_8"), -1234567898); -assert.sameValue(Number("-123456789_9"), -1234567899); +assert.sameValue(Number("-123456789_0"), NaN, "-123456789_0"); +assert.sameValue(Number("-123456789_1"), NaN, "-123456789_1"); +assert.sameValue(Number("-123456789_2"), NaN, "-123456789_2"); +assert.sameValue(Number("-123456789_3"), NaN, "-123456789_3"); +assert.sameValue(Number("-123456789_4"), NaN, "-123456789_4"); +assert.sameValue(Number("-123456789_5"), NaN, "-123456789_5"); +assert.sameValue(Number("-123456789_6"), NaN, "-123456789_6"); +assert.sameValue(Number("-123456789_7"), NaN, "-123456789_7"); +assert.sameValue(Number("-123456789_8"), NaN, "-123456789_8"); +assert.sameValue(Number("-123456789_9"), NaN, "-123456789_9"); diff --git a/test/built-ins/Number/string-numeric-separator-literal-sign-plus-dds-nsl-dd.js b/test/built-ins/Number/string-numeric-separator-literal-sign-plus-dds-nsl-dd.js index 813faf91d1..abf01d63c3 100644 --- a/test/built-ins/Number/string-numeric-separator-literal-sign-plus-dds-nsl-dd.js +++ b/test/built-ins/Number/string-numeric-separator-literal-sign-plus-dds-nsl-dd.js @@ -3,8 +3,10 @@ /*--- esid: prod-NumericLiteralSeparator -description: DecimalDigits NumericLiteralSeparator DecimalDigit +description: NumericLiteralSeparator is not valid on string conversions for ToNumber operations info: | + DecimalDigits NumericLiteralSeparator DecimalDigit + NumericLiteralSeparator :: _ @@ -12,16 +14,16 @@ info: | ... + DecimalDigits ... - +features: [numeric-separator-literal] ---*/ -assert.sameValue(Number("+123456789_0"), 1234567890); -assert.sameValue(Number("+123456789_1"), 1234567891); -assert.sameValue(Number("+123456789_2"), 1234567892); -assert.sameValue(Number("+123456789_3"), 1234567893); -assert.sameValue(Number("+123456789_4"), 1234567894); -assert.sameValue(Number("+123456789_5"), 1234567895); -assert.sameValue(Number("+123456789_6"), 1234567896); -assert.sameValue(Number("+123456789_7"), 1234567897); -assert.sameValue(Number("+123456789_8"), 1234567898); -assert.sameValue(Number("+123456789_9"), 1234567899); +assert.sameValue(Number("+123456789_0"), NaN, "+123456789_0"); +assert.sameValue(Number("+123456789_1"), NaN, "+123456789_1"); +assert.sameValue(Number("+123456789_2"), NaN, "+123456789_2"); +assert.sameValue(Number("+123456789_3"), NaN, "+123456789_3"); +assert.sameValue(Number("+123456789_4"), NaN, "+123456789_4"); +assert.sameValue(Number("+123456789_5"), NaN, "+123456789_5"); +assert.sameValue(Number("+123456789_6"), NaN, "+123456789_6"); +assert.sameValue(Number("+123456789_7"), NaN, "+123456789_7"); +assert.sameValue(Number("+123456789_8"), NaN, "+123456789_8"); +assert.sameValue(Number("+123456789_9"), NaN, "+123456789_9"); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js index 8463acc6e8..1b448979e3 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrDecimalDigits . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -14,6 +15,7 @@ info: | StrDecimalDigits NumericLiteralSeparator DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1.0e-1_0"), 1.0e-1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js index 31afc26b42..fc58f9cf1c 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrDecimalDigits . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -14,6 +15,7 @@ info: | StrDecimalDigits NumericLiteralSeparator DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1.0e-10_0"), 1.0e-10); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js index 4331a370d3..60d7c2296c 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js @@ -4,7 +4,7 @@ /*--- esid: sec-tonumber-applied-to-the-string-type description: > - StrDecimalDigits . StrDecimalDigits StrExponentPart + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -15,6 +15,7 @@ info: | StrDecimalDigits NumericLiteralSeparator DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1.0e+1_0"), 1.0e+1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js index f68cc93c8e..bc2d2a590e 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrDecimalDigits . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -14,6 +15,7 @@ info: | StrDecimalDigits NumericLiteralSeparator DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1.0e+10_0"), 1.0e+10); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-nsl-dd-one-of.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-nsl-dd-one-of.js index fb0ba7236c..f9d1dec3a4 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-nsl-dd-one-of.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dd-nsl-dd-one-of.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrUnsignedDecimalLiteral +description: > + The NSL does not affect strings parsed by parseFloat - StrUnsignedDecimalLiteral info: | StrStrUnsignedDecimalLiteral ::: @@ -17,6 +18,7 @@ info: | DecimalDigit ::: one of 0 1 2 3 4 5 6 7 8 9 +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1_0"), 1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js index b90c3b22c6..380364f742 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrDecimalDigits . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -13,6 +14,7 @@ info: | DecimalDigit StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("10.00_01e2"), 10.00); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-nsl-dd.js index b4d6094eb0..460a6e7b51 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dds-nsl-dd.js @@ -3,13 +3,15 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrDecimalDigits +description: > + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits info: | StrDecimalDigits ::: DecimalDigit StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("123456789_0"), 123456789); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dd-ep.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dd-ep.js index 721a679019..3224326cb9 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dd-ep.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dd-ep.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -14,6 +15,7 @@ info: | ... StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat(".0_1e2"), .0); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dds-ep.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dds-ep.js index 1f3dc3b30e..1d532aca8b 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dds-ep.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dd-nsl-dds-ep.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -14,6 +15,7 @@ info: | ... StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat(".1_01e2"), .1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dd-ep.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dd-ep.js index 278dbe6829..e9c96b6577 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dd-ep.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dd-ep.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -13,6 +14,7 @@ info: | DecimalDigit StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat(".10_1e2"), .10); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dds-ep.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dds-ep.js index da0490ddd5..5037e06647 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dds-ep.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-dot-dds-nsl-dds-ep.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: . StrDecimalDigits StrExponentPart +description: > + The NSL does not affect strings parsed by parseFloat - . StrDecimalDigits StrExponentPart info: | StrUnsignedDecimalLiteral ::: @@ -13,6 +14,7 @@ info: | DecimalDigit StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat(".00_01e2"), .00); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd-one-of.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd-one-of.js index 300b712145..1a5ac4cb1b 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd-one-of.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd-one-of.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: NonZeroDigit NumericLiteralSeparator DecimalDigit +description: > + The NSL does not affect strings parsed by parseFloat - NonZeroDigit NumericLiteralSeparator DecimalDigit info: | StrUnsignedDecimalLiteral ::: @@ -19,6 +20,7 @@ info: | DecimalDigit ::: one of 0 1 2 3 4 5 6 7 8 9 +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1_0"), 1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd.js index 4f454d5953..e801863802 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dd.js @@ -3,7 +3,8 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrDecimalDigits +description: > + The NSL does not affect strings parsed by parseFloat - StrDecimalDigits info: | StrDecimalDigits ::: @@ -11,6 +12,7 @@ info: | StrDecimalDigits DecimalDigit ... +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1_1"), 1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dds.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dds.js index e182b0a3c6..7ad3c31fb0 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dds.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-nzd-nsl-dds.js @@ -3,13 +3,15 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: DecimalDigit +description: > + The NSL does not affect strings parsed by parseFloat - DecimalDigit info: | StrDecimalDigits ::: DecimalDigit StrDecimalDigits DecimalDigit +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("1_0123456789"), 1); diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-plus-dds-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-plus-dds-nsl-dd.js index 224a0e4e3e..2185463cdd 100644 --- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-plus-dds-nsl-dd.js +++ b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-plus-dds-nsl-dd.js @@ -3,14 +3,15 @@ /*--- esid: sec-tonumber-applied-to-the-string-type -description: StrUnsignedDecimalLiteral +description: > + The NSL does not affect strings parsed by parseFloat (StrUnsignedDecimalLiteral) info: | StrDecimalLiteral ::: StrUnsignedDecimalLiteral + StrUnsignedDecimalLiteral - StrUnsignedDecimalLiteral - +features: [numeric-separator-literal] ---*/ assert.sameValue(parseFloat("+123456789_0"), +123456789);