From 12797840aee3a90d5c6e5698e0cae0baf99df916 Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Thu, 28 Sep 2017 10:52:08 -0400
Subject: [PATCH] features: [numeric-separator-literal]

---
 features.txt                                  |  4 ++
 ...numeric-separator-literal-bil-bd-nsl-bd.js | 23 -----------
 ...umeric-separator-literal-bil-bd-nsl-bds.js | 23 -----------
 ...umeric-separator-literal-bil-bds-nsl-bd.js | 23 -----------
 ...meric-separator-literal-bil-bds-nsl-bds.js | 23 -----------
 ...numeric-separator-literal-hil-hd-nsl-hd.js | 20 ----------
 ...umeric-separator-literal-hil-hd-nsl-hds.js | 20 ----------
 ...umeric-separator-literal-hil-hds-nsl-hd.js | 20 ----------
 ...meric-separator-literal-hil-hds-nsl-hds.js | 20 ----------
 ...-separator-literal-hil-od-nsl-od-one-of.js | 40 -------------------
 ...ric-separator-literal-nzd-nsl-dd-one-of.js |  2 +-
 ...-separator-literal-oil-od-nsl-od-one-of.js | 26 ------------
 ...numeric-separator-literal-oil-od-nsl-od.js | 20 ----------
 ...umeric-separator-literal-oil-od-nsl-ods.js | 20 ----------
 ...umeric-separator-literal-oil-ods-nsl-od.js | 20 ----------
 ...meric-separator-literal-oil-ods-nsl-ods.js | 20 ----------
 ...separator-literal-sign-minus-dds-nsl-dd.js | 26 ------------
 ...ric-separator-literal-bil-bd-nsl-bd-err.js |  2 +
 ...numeric-separator-literal-bil-bd-nsl-bd.js |  1 +
 ...umeric-separator-literal-bil-bd-nsl-bds.js |  1 +
 ...umeric-separator-literal-bil-bds-nsl-bd.js |  1 +
 ...meric-separator-literal-bil-bds-nsl-bds.js |  1 +
 ...separator-literal-bil-nsl-bd-dunder-err.js |  2 +
 ...umeric-separator-literal-bil-nsl-bd-err.js |  2 +
 ...teral-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js |  1 +
 ...eral-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js |  1 +
 ...iteral-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js |  1 +
 ...teral-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js |  1 +
 ...eric-separator-literal-dd-nsl-dd-one-of.js |  1 +
 ...separator-literal-dd-nsl-dds-dunder-err.js |  2 +
 .../numeric-separator-literal-dd-nsl-err.js   |  2 +
 ...parator-literal-dds-dot-dd-nsl-dd-ep-dd.js |  1 +
 .../numeric-separator-literal-dds-nsl-dd.js   |  1 +
 ...eparator-literal-dds-nsl-dds-dunder-err.js |  2 +
 .../numeric-separator-literal-dds-nsl-err.js  |  2 +
 ...rator-literal-dil-dot-dds-nsl-ep-dd-err.js |  2 +
 ...ic-separator-literal-dil-dot-nsl-ep-err.js |  2 +
 ...meric-separator-literal-dil-dot-nsl-err.js |  2 +
 ...eric-separator-literal-dot-dd-nsl-dd-ep.js |  1 +
 ...ric-separator-literal-dot-dd-nsl-dds-ep.js |  1 +
 ...ric-separator-literal-dot-dds-nsl-dd-ep.js |  1 +
 ...ic-separator-literal-dot-dds-nsl-dds-ep.js |  1 +
 ...ic-separator-literal-dot-dds-nsl-ep-err.js |  2 +
 ...umeric-separator-literal-dot-nsl-ep-err.js |  2 +
 .../numeric-separator-literal-dot-nsl-err.js  |  2 +
 ...ric-separator-literal-hil-hd-nsl-hd-err.js |  2 +
 ...numeric-separator-literal-hil-hd-nsl-hd.js |  1 +
 ...umeric-separator-literal-hil-hd-nsl-hds.js |  1 +
 ...umeric-separator-literal-hil-hds-nsl-hd.js |  1 +
 ...meric-separator-literal-hil-hds-nsl-hds.js |  1 +
 ...separator-literal-hil-nsl-hd-dunder-err.js |  2 +
 ...umeric-separator-literal-hil-nsl-hd-err.js |  2 +
 ...-separator-literal-hil-od-nsl-od-one-of.js |  1 +
 ...ric-separator-literal-nzd-nsl-dd-one-of.js |  1 +
 .../numeric-separator-literal-nzd-nsl-dd.js   |  1 +
 ...eparator-literal-nzd-nsl-dds-dunder-err.js |  2 +
 ...or-literal-nzd-nsl-dds-leading-zero-err.js |  2 +
 .../numeric-separator-literal-nzd-nsl-dds.js  |  1 +
 ...separator-literal-oil-nsl-od-dunder-err.js |  2 +
 ...umeric-separator-literal-oil-nsl-od-err.js |  2 +
 ...ric-separator-literal-oil-od-nsl-od-err.js |  2 +
 ...-separator-literal-oil-od-nsl-od-one-of.js |  1 +
 ...numeric-separator-literal-oil-od-nsl-od.js |  1 +
 ...umeric-separator-literal-oil-od-nsl-ods.js |  1 +
 ...umeric-separator-literal-oil-ods-nsl-od.js |  1 +
 ...meric-separator-literal-oil-ods-nsl-ods.js |  1 +
 ...separator-literal-sign-minus-dds-nsl-dd.js |  1 +
 ...-separator-literal-sign-plus-dds-nsl-dd.js |  1 +
 .../numeric-separator-literal-unicode-err.js  |  2 +
 69 files changed, 79 insertions(+), 345 deletions(-)
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bd.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bds.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bd.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bds.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hd.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hds.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hd.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hds.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-od-nsl-od-one-of.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od-one-of.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-ods.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-od.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-ods.js
 delete mode 100644 test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-minus-dds-nsl-dd.js

diff --git a/features.txt b/features.txt
index b6e73c2394..494a2e1698 100644
--- a/features.txt
+++ b/features.txt
@@ -68,6 +68,10 @@ string-trimming
 String.prototype.trimEnd
 String.prototype.trimStart
 
+# Numeric Separator Literal
+# https://github.com/tc39/proposal-numeric-separator
+numeric-separator-literal
+
 # Standard language features
 #
 # Language features that have been included in a published version of the
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bd.js
deleted file mode 100644
index 2f994aa3e5..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bd.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0b StrBinaryDigits, 0B StrBinaryDigits
-info: |
-
-  StrBinaryIntegerLiteral :::
-    0b StrBinaryDigits
-    0B StrBinaryDigits
-
-  StrBinaryDigits :::
-    BinaryDigit
-    StrBinaryDigits BinaryDigit
-
-  BinaryDigit ::: one of
-    0 1
-
----*/
-
-assert.sameValue(parseFloat("0b0_1"), 0b0);
-assert.sameValue(parseFloat("0B0_1"), 0B0);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bds.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bds.js
deleted file mode 100644
index d5164500b7..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bd-nsl-bds.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0b StrBinaryDigits, 0B StrBinaryDigits
-info: |
-
-  StrBinaryIntegerLiteral :::
-    0b StrBinaryDigits
-    0B StrBinaryDigits
-
-  StrBinaryDigits :::
-    BinaryDigit
-    StrBinaryDigits BinaryDigit
-
-  BinaryDigit ::: one of
-    0 1
-
----*/
-
-assert.sameValue(parseFloat("0b0_10"), 0b0);
-assert.sameValue(parseFloat("0B0_10"), 0B0);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bd.js
deleted file mode 100644
index dc4207be9d..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bd.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0b StrBinaryDigits, 0B StrBinaryDigits
-info: |
-
-  StrBinaryIntegerLiteral :::
-    0b StrBinaryDigits
-    0B StrBinaryDigits
-
-  StrBinaryDigits :::
-    BinaryDigit
-    StrBinaryDigits BinaryDigit
-
-  BinaryDigit ::: one of
-    0 1
-
----*/
-
-assert.sameValue(parseFloat("0b01_0"), 0b01);
-assert.sameValue(parseFloat("0B01_0"), 0B01);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bds.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bds.js
deleted file mode 100644
index daa545afb9..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-bil-bds-nsl-bds.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0b StrBinaryDigits, 0B StrBinaryDigits
-info: |
-
-  StrBinaryIntegerLiteral :::
-    0b StrBinaryDigits
-    0B StrBinaryDigits
-
-  StrBinaryDigits :::
-    BinaryDigit
-    StrBinaryDigits BinaryDigit
-
-  BinaryDigit ::: one of
-    0 1
-
----*/
-
-assert.sameValue(parseFloat("0b01_00"), 0b01);
-assert.sameValue(parseFloat("0B01_00"), 0B01);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hd.js
deleted file mode 100644
index 59330a2f4c..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hd.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0x StrHexDigits, 0X StrHexDigits
-info: |
-
-  StrHexLiteral :::
-    0x StrHexDigits
-    0X StrHexDigits
-
-  StrHexDigits :::
-    HexDigit
-    StrHexDigits HexDigit
-
----*/
-
-assert.sameValue(parseFloat("0x0_1"), 0x0);
-assert.sameValue(parseFloat("0X0_1"), 0X0);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hds.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hds.js
deleted file mode 100644
index 06f3a44c62..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hd-nsl-hds.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0x StrHexDigits, 0X StrHexDigits
-info: |
-
-  StrHexLiteral :::
-    0x StrHexDigits
-    0X StrHexDigits
-
-  StrHexDigits :::
-    HexDigit
-    StrHexDigits HexDigit
-
----*/
-
-assert.sameValue(parseFloat("0x0_10"), 0x0);
-assert.sameValue(parseFloat("0X0_10"), 0X0);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hd.js
deleted file mode 100644
index e4bc5b9fd8..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hd.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0x StrHexDigits, 0X StrHexDigits
-info: |
-
-  StrHexLiteral :::
-    0x StrHexDigits
-    0X StrHexDigits
-
-  StrHexDigits :::
-    HexDigit
-    StrHexDigits HexDigit
-
----*/
-
-assert.sameValue(parseFloat("0x01_0"), 0x01);
-assert.sameValue(parseFloat("0X01_0"), 0X01);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hds.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hds.js
deleted file mode 100644
index 4cbdf527a3..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-hds-nsl-hds.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0x StrHexDigits, 0X StrHexDigits
-info: |
-
-  StrHexLiteral :::
-    0x StrHexDigits
-    0X StrHexDigits
-
-  StrHexDigits :::
-    HexDigit
-    StrHexDigits HexDigit
-
----*/
-
-assert.sameValue(parseFloat("0x01_00"), 0x01);
-assert.sameValue(parseFloat("0X01_00"), 0X01);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-od-nsl-od-one-of.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-od-nsl-od-one-of.js
deleted file mode 100644
index c28f00087d..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-hil-od-nsl-od-one-of.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0x StrHexDigits, 0X StrHexDigits
-info: |
-
-  StrHexLiteral :::
-    0x StrHexDigits
-    0X StrHexDigits
-
-  StrHexDigits :::
-    HexDigit
-    StrHexDigits HexDigit
-
----*/
-
-assert.sameValue(parseFloat("0x0_0"), 0x0);
-assert.sameValue(parseFloat("0x1_1"), 0x1);
-assert.sameValue(parseFloat("0x2_2"), 0x2);
-assert.sameValue(parseFloat("0x3_3"), 0x3);
-assert.sameValue(parseFloat("0x4_4"), 0x4);
-assert.sameValue(parseFloat("0x5_5"), 0x5);
-assert.sameValue(parseFloat("0x6_6"), 0x6);
-assert.sameValue(parseFloat("0x7_7"), 0x7);
-assert.sameValue(parseFloat("0x8_8"), 0x8);
-assert.sameValue(parseFloat("0x9_9"), 0x9);
-assert.sameValue(parseFloat("0xa_a"), 0xa);
-assert.sameValue(parseFloat("0xb_b"), 0xb);
-assert.sameValue(parseFloat("0xc_c"), 0xc);
-assert.sameValue(parseFloat("0xd_d"), 0xd);
-assert.sameValue(parseFloat("0xe_e"), 0xe);
-assert.sameValue(parseFloat("0xf_f"), 0xf);
-assert.sameValue(parseFloat("0xA_A"), 0xA);
-assert.sameValue(parseFloat("0xB_B"), 0xB);
-assert.sameValue(parseFloat("0xC_C"), 0xC);
-assert.sameValue(parseFloat("0xD_D"), 0xD);
-assert.sameValue(parseFloat("0xE_E"), 0xE);
-assert.sameValue(parseFloat("0xF_F"), 0xF);
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 932a83451b..300b712145 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
@@ -6,7 +6,7 @@ esid: sec-tonumber-applied-to-the-string-type
 description: NonZeroDigit NumericLiteralSeparator DecimalDigit
 info: |
 
-  StrStrUnsignedDecimalLiteral :::
+  StrUnsignedDecimalLiteral :::
     StrUnsignedDecimalLiteral
 
   NonZeroDigit ::: one of
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od-one-of.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od-one-of.js
deleted file mode 100644
index fd9e178d9f..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od-one-of.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0o StrOctalDigits, 0O StrOctalDigits
-info: |
-
-  StrOctalLiteral :::
-    0o StrOctalDigits
-    0O StrOctalDigits
-
-  StrOctalDigits :::
-    OctalDigit
-    StrOctalDigits OctalDigit
-
----*/
-
-assert.sameValue(parseFloat("0o0_0"), 0o0);
-assert.sameValue(parseFloat("0o1_1"), 0o1);
-assert.sameValue(parseFloat("0o2_2"), 0o2);
-assert.sameValue(parseFloat("0o3_3"), 0o3);
-assert.sameValue(parseFloat("0o4_4"), 0o4);
-assert.sameValue(parseFloat("0o5_5"), 0o5);
-assert.sameValue(parseFloat("0o6_6"), 0o6);
-assert.sameValue(parseFloat("0o7_7"), 0o7);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od.js
deleted file mode 100644
index 0721ea9856..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-od.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0o StrOctalDigits, 0O StrOctalDigits
-info: |
-
-  StrOctalLiteral :::
-    0o StrOctalDigits
-    0O StrOctalDigits
-
-  StrOctalDigits :::
-    OctalDigit
-    StrOctalDigits OctalDigit
-
----*/
-
-assert.sameValue(parseFloat("0o0_1"), 0o0);
-assert.sameValue(parseFloat("0O0_1"), 0O0);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-ods.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-ods.js
deleted file mode 100644
index 174e45325c..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-od-nsl-ods.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0o StrOctalDigits, 0O StrOctalDigits
-info: |
-
-  StrOctalLiteral :::
-    0o StrOctalDigits
-    0O StrOctalDigits
-
-  StrOctalDigits :::
-    OctalDigit
-    StrOctalDigits OctalDigit
-
----*/
-
-assert.sameValue(parseFloat("0o0_10"), 0o0);
-assert.sameValue(parseFloat("0O0_10"), 0O0);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-od.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-od.js
deleted file mode 100644
index 6f328e3dd1..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-od.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0o StrOctalDigits, 0O StrOctalDigits
-info: |
-
-  StrOctalLiteral :::
-    0o StrOctalDigits
-    0O StrOctalDigits
-
-  StrOctalDigits :::
-    OctalDigit
-    StrOctalDigits OctalDigit
-
----*/
-
-assert.sameValue(parseFloat("0o01_0"), 0o01);
-assert.sameValue(parseFloat("0O01_0"), 0O01);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-ods.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-ods.js
deleted file mode 100644
index 4ccd61f378..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-oil-ods-nsl-ods.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: 0o StrOctalDigits, 0O StrOctalDigits
-info: |
-
-  StrOctalLiteral :::
-    0o StrOctalDigits
-    0O StrOctalDigits
-
-  StrOctalDigits :::
-    OctalDigit
-    StrOctalDigits OctalDigit
-
----*/
-
-assert.sameValue(parseFloat("0o01_00"), 0o01);
-assert.sameValue(parseFloat("0O01_00"), 0O01);
diff --git a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-minus-dds-nsl-dd.js b/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-minus-dds-nsl-dd.js
deleted file mode 100644
index a0917f913e..0000000000
--- a/test/built-ins/parseFloat/tonumber-numeric-separator-literal-sign-minus-dds-nsl-dd.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (C) 2017 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-tonumber-applied-to-the-string-type
-description: >
-  StrUnsignedDecimalLiteral, + StrUnsignedDecimalLiteral, - StrUnsignedDecimalLiteral
-info: |
-
-  StrDecimalLiteral :::
-    StrUnsignedDecimalLiteral
-    + StrUnsignedDecimalLiteral
-    - StrUnsignedDecimalLiteral
-
----*/
-
-assert.sameValue(parseFloat("-123456789_0"), -123456789);
-assert.sameValue(parseFloat("-123456789_1"), -123456789);
-assert.sameValue(parseFloat("-123456789_2"), -123456789);
-assert.sameValue(parseFloat("-123456789_3"), -123456789);
-assert.sameValue(parseFloat("-123456789_4"), -123456789);
-assert.sameValue(parseFloat("-123456789_5"), -123456789);
-assert.sameValue(parseFloat("-123456789_6"), -123456789);
-assert.sameValue(parseFloat("-123456789_7"), -123456789);
-assert.sameValue(parseFloat("-123456789_8"), -123456789);
-assert.sameValue(parseFloat("-123456789_9"), -123456789);
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js
index 44a9cb1ee8..3eea2a3c13 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd.js b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd.js
index f9d5d3cf02..36129c5f01 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd.js
@@ -21,6 +21,7 @@ info: |
   BinaryDigit :: one of
     0 1
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0b0_1, 0b01);
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bds.js b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bds.js
index 26b19114f7..84037cc665 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bds.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bds.js
@@ -21,6 +21,7 @@ info: |
   BinaryDigit :: one of
     0 1
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0b0_10, 0b010);
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bd.js b/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bd.js
index 323259549b..0c964795d6 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bd.js
@@ -21,6 +21,7 @@ info: |
   BinaryDigit :: one of
     0 1
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0b01_0, 0b010);
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bds.js b/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bds.js
index 744913f05c..c7237b2b22 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bds.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-bds-nsl-bds.js
@@ -21,6 +21,7 @@ info: |
   BinaryDigit :: one of
     0 1
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0b01_00, 0b0100);
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js
index 3cadb7a811..9b15080c40 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js
index 51ac17e97a..6a6c1e449c 100644
--- a/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js
index f7bca1ee7b..f606a7a939 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dd-nsl-dd.js
@@ -21,6 +21,7 @@ info: |
     - DecimalDigits
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1.0e-1_0, 1.0e-10);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js
index 9057143c62..11d1fbff0a 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-minus-dds-nsl-dd.js
@@ -21,6 +21,7 @@ info: |
     - DecimalDigits
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1.0e-10_0, 1.0e-100);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js
index ac5b67c2b7..a81aa06427 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dd-nsl-dd.js
@@ -21,6 +21,7 @@ info: |
     + DecimalDigits
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1.0e+1_0, 1.0e+10);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js
index eeeb5f957e..fb1d3301ab 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-dot-dd-ep-sign-plus-dds-nsl-dd.js
@@ -21,6 +21,7 @@ info: |
     + DecimalDigits
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1.0e+10_0, 1.0e+100);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dd-one-of.js b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dd-one-of.js
index 79f5b5ada0..72d0b9785a 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dd-one-of.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dd-one-of.js
@@ -20,6 +20,7 @@ info: |
   DecimalDigit :: one of
     0 1 2 3 4 5 6 7 8 9
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1_0, 10);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js
index 800714be2c..218b0c5620 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js
@@ -17,6 +17,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js
index 11b89ce2c6..a217b54fea 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js
@@ -19,6 +19,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js b/test/language/literals/numeric/numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js
index a3f78d5060..290f67bb3b 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dds-dot-dd-nsl-dd-ep-dd.js
@@ -20,6 +20,7 @@ info: |
   ExponentIndicator :: one of
     e E
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(10.00_01e2, 10.0001e2);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dd.js
index 3ca1dee1e3..30591b3de1 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dd.js
@@ -12,6 +12,7 @@ info: |
     ...
     DecimalDigits NumericLiteralSeparator DecimalDigit
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(123456789_0, 1234567890);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js
index 560fe23576..de512d300a 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js
@@ -17,6 +17,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js
index a72b521e73..b55e53355e 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js
@@ -20,6 +20,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js b/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js
index ce96ca079b..6956736a90 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js
@@ -19,6 +19,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js
index 9b2c418bef..74e6a5b1c8 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js
@@ -22,6 +22,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js
index 6d7542eb79..46ceaf4137 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js
@@ -20,6 +20,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dd-ep.js b/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dd-ep.js
index 26cf232cf9..04f1b644d1 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dd-ep.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dd-ep.js
@@ -20,6 +20,7 @@ info: |
   ExponentIndicator :: one of
     e E
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(.0_1e2, .01e2);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dds-ep.js b/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dds-ep.js
index 0ded986ab6..37180f4591 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dds-ep.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-dd-nsl-dds-ep.js
@@ -20,6 +20,7 @@ info: |
   ExponentIndicator :: one of
     e E
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(.1_01e2, .101e2);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dd-ep.js b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dd-ep.js
index e3acbad8a2..4dee9bb10d 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dd-ep.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dd-ep.js
@@ -20,6 +20,7 @@ info: |
   ExponentIndicator :: one of
     e E
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(.10_1e2, .101e2);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dds-ep.js b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dds-ep.js
index c437ef997c..7365bd7af5 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dds-ep.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-dds-ep.js
@@ -20,6 +20,7 @@ info: |
   ExponentIndicator :: one of
     e E
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(.00_01e2, .0001e2);
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js
index f968e63d6c..9d7d6581f1 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js
@@ -21,6 +21,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js
index df26f129d5..f6ad9783f3 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js
@@ -22,6 +22,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js
index 322dcbf8ee..8947cfe57e 100644
--- a/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js
@@ -20,6 +20,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js
index d4f73eed20..15120ff497 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd.js b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd.js
index f8a33c65f4..0b931cff02 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd.js
@@ -21,6 +21,7 @@ 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(0x0_1, 0x01);
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hds.js b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hds.js
index 0561c9ad95..b277fde047 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hds.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hds.js
@@ -21,6 +21,7 @@ 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(0x0_10, 0x010);
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hd.js b/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hd.js
index 6dff72fa38..fe6b3199ad 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hd.js
@@ -21,6 +21,7 @@ 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(0x01_0, 0x010);
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hds.js b/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hds.js
index 2672484cbc..f44d6ae825 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hds.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-hds-nsl-hds.js
@@ -21,6 +21,7 @@ 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(0x01_00, 0x0100);
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js
index dcf0f40a37..4c0d96e65f 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js
index 7205cbb219..21e285cc1d 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-hil-od-nsl-od-one-of.js b/test/language/literals/numeric/numeric-separator-literal-hil-od-nsl-od-one-of.js
index 3f81986dd5..8650c06fbf 100644
--- a/test/language/literals/numeric/numeric-separator-literal-hil-od-nsl-od-one-of.js
+++ b/test/language/literals/numeric/numeric-separator-literal-hil-od-nsl-od-one-of.js
@@ -21,6 +21,7 @@ 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(0x0_0, 0x00);
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd-one-of.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd-one-of.js
index 528546e4b1..39d0db0c8a 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd-one-of.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd-one-of.js
@@ -22,6 +22,7 @@ info: |
   DecimalDigit :: one of
     0 1 2 3 4 5 6 7 8 9
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1_0, 10);
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd.js
index 3f6e166a83..f274b19ea6 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dd.js
@@ -20,6 +20,7 @@ info: |
     DecimalDigits DecimalDigit
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1_1, 11);
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js
index dd2f133fa0..bd72a358d4 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js
@@ -20,6 +20,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js
index 201ac0acdf..d6c6fa868f 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js
@@ -18,6 +18,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds.js b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds.js
index 47ea301dac..dcd6de0715 100644
--- a/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds.js
+++ b/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds.js
@@ -20,6 +20,7 @@ info: |
     DecimalDigits DecimalDigit
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(1_0123456789, 10123456789);
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js
index 9be6a2b73f..a306c6a469 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js
index 1d8b21e839..d91bf995d0 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js
index 34276984f8..8303d30618 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js
@@ -25,6 +25,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-one-of.js b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-one-of.js
index f9d0f6b16f..1818505032 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-one-of.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-one-of.js
@@ -21,6 +21,7 @@ info: |
   OctalDigit :: one of
     0 1 2 3 4 5 6 7
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0o0_0, 0o00);
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od.js b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od.js
index 8555afc406..7c3952d192 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od.js
@@ -21,6 +21,7 @@ info: |
   OctalDigit :: one of
     0 1 2 3 4 5 6 7
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0o0_1, 0o01);
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-ods.js b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-ods.js
index 70bc8396da..44e888aa84 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-ods.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-ods.js
@@ -21,6 +21,7 @@ info: |
   OctalDigit :: one of
     0 1 2 3 4 5 6 7
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0o0_10, 0o010);
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-od.js b/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-od.js
index 7083418e11..a87372e3fd 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-od.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-od.js
@@ -21,6 +21,7 @@ info: |
   OctalDigit :: one of
     0 1 2 3 4 5 6 7
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0o01_0, 0o010);
diff --git a/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-ods.js b/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-ods.js
index 2e33e076f7..d649772996 100644
--- a/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-ods.js
+++ b/test/language/literals/numeric/numeric-separator-literal-oil-ods-nsl-ods.js
@@ -21,6 +21,7 @@ info: |
   OctalDigit :: one of
     0 1 2 3 4 5 6 7
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(0o01_00, 0o0100);
diff --git a/test/language/literals/numeric/numeric-separator-literal-sign-minus-dds-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-sign-minus-dds-nsl-dd.js
index e11952a61f..bf01b6a137 100644
--- a/test/language/literals/numeric/numeric-separator-literal-sign-minus-dds-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-sign-minus-dds-nsl-dd.js
@@ -12,6 +12,7 @@ info: |
     ...
     - DecimalDigits
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(-123456789_0, -1234567890);
diff --git a/test/language/literals/numeric/numeric-separator-literal-sign-plus-dds-nsl-dd.js b/test/language/literals/numeric/numeric-separator-literal-sign-plus-dds-nsl-dd.js
index 89050f1a45..25c78243fa 100644
--- a/test/language/literals/numeric/numeric-separator-literal-sign-plus-dds-nsl-dd.js
+++ b/test/language/literals/numeric/numeric-separator-literal-sign-plus-dds-nsl-dd.js
@@ -13,6 +13,7 @@ info: |
     + DecimalDigits
     ...
 
+features: [numeric-separator-literal]
 ---*/
 
 assert.sameValue(+123456789_0, 1234567890);
diff --git a/test/language/literals/numeric/numeric-separator-literal-unicode-err.js b/test/language/literals/numeric/numeric-separator-literal-unicode-err.js
index 4674392f36..0ff093d29e 100644
--- a/test/language/literals/numeric/numeric-separator-literal-unicode-err.js
+++ b/test/language/literals/numeric/numeric-separator-literal-unicode-err.js
@@ -17,6 +17,8 @@ info: |
 negative:
   phase: early
   type: SyntaxError
+
+features: [numeric-separator-literal]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
-- 
GitLab