[parser] Invalid NonOctal Decimal (#10467)

* Add test

* Add nonOctalDecimal verification

* Update regex and code style

* Refactor non octal detection

* Add numeric separator test

* Disallow numeric separators in non octals

* Update whitelist

* Better test naming

* Disallow numeric separators in non oct for all numbers

* Specific error above the general error

* Add test for invalid leading zero in num separator

* Add start position to error
This commit is contained in:
Gonzalo Rodríguez
2019-09-23 17:07:52 -04:00
committed by Nicolò Ribaudo
parent f339d2d034
commit 69d00dc5b0
9 changed files with 27 additions and 17 deletions

View File

@@ -104,26 +104,12 @@ language/expressions/object/method-definition/private-name-early-error-gen-insid
language/expressions/object/method-definition/private-name-early-error-gen-inside-class.js(strict mode)
language/expressions/object/method-definition/private-name-early-error-method-inside-class.js(default)
language/expressions/object/method-definition/private-name-early-error-method-inside-class.js(strict mode)
language/literals/bigint/non-octal-like-invalid-0008n.js(default)
language/literals/bigint/non-octal-like-invalid-012348n.js(default)
language/literals/bigint/non-octal-like-invalid-08n.js(default)
language/literals/bigint/non-octal-like-invalid-09n.js(default)
language/literals/bigint/numeric-separators/numeric-separator-literal-nonoctal-08-err.js(default)
language/literals/bigint/numeric-separators/numeric-separator-literal-nonoctal-09-err.js(default)
language/literals/bigint/numeric-separators/numeric-separator-literal-nonoctal-0_8-err.js(default)
language/literals/bigint/numeric-separators/numeric-separator-literal-nonoctal-0_9-err.js(default)
language/literals/bigint/numeric-separators/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-00-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-01-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-07-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-0_0-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-0_1-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-lol-0_7-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-nonoctal-08-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-nonoctal-09-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-nonoctal-0_8-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-nonoctal-0_9-err.js(default)
language/literals/numeric/numeric-separators/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js(default)
language/module-code/privatename-not-valid-earlyerr-module-1.js(default)
language/module-code/privatename-not-valid-earlyerr-module-1.js(strict mode)
language/module-code/privatename-not-valid-earlyerr-module-2.js(default)