The tests for the parsing of the `with` statement were expressed using
eval. This made the tests more complex than necessary and also prevented
the tests from providing value to ECMAScript parsers.
Remove the use of eval and instead express the expectations with literal
source text. Rename the files to make each test's purpose more clear.
These tests are syntactically equivalent to
`test/language/statements/with/12.10.1-7-s.js` and may therefore be
removed without degrading coverage.
While `test/language/statements/with/12.10.1-9-s.js` differs slightly in
the pattern used to enable strict mode, the relevant behavior of the
"use strict" directive prologue is expressly tested via
`test/language/directive-prologue/func-expr-inside-func-decl-parse.js`.
Previously, some tests verified two independent concerns simultaneously:
syntactic validity and runtime completion value. The former is relevant
for ECMAScript runtimes and parsers alike, but the latter is only
observable by runtimes.
Express expectations regarding syntactic validity using literal program
code so they can be used by parsers. Maintain the original tests which
rely on eval in order to preserve coverage for statement completion
values.
The tests for the parsing of various statement were expressed using
eval. This made the tests more complex than necessary and also prevented
the tests from providing value to ECMAScript parsers.
Remove the use of eval and instead express the expectations with literal
source text. Rename the files to make each test's purpose more clear.
These tests are ostensibly designed to validate parsing of Regular
Expression literals--specifically those which use Unicode escape
sequences to declare flags. However, because the syntax is expressed in
terms of a string literal and then evaluated dynamically, the escape
sequences in use have no bearing on the program code which is ultimately
parsed. These tests therefore do not extend coverage in any meaningful
way and may be removed.
The tests for the parsing of literal values were expressed using eval.
This made the tests more complex than necessary and also prevented the
tests from providing value to ECMAScript parsers.
Remove the use of eval and instead express the expectations with literal
source text. Rename the files to make each test's purpose more clear.
The production under test is also used in the following file:
test/language/literals/numeric/legacy-octal-integer-strict.js
That test expresses the syntax with literal source text, making it
useful for parsers. Remove this test in favor of the other.