Commit Graph

66 Commits

Author SHA1 Message Date
Leo Balter f7f845ce6f Update tests with DONOTEVALUATE 2018-11-14 09:19:15 -05:00
Leo Balter dec4e5df74
Merge pull request #1801 from mathiasbynens/issue-1634
Move `throw "…"` for negative parsing errors to a helper function
2018-11-13 17:23:09 -05:00
Kevin Gibbons 0160cab518 fix missing/duplicate tests 2018-11-07 13:52:44 -08:00
Kevin Gibbons e80d8a184a split unicode-property-names.js 2018-11-05 15:34:03 -08:00
Kevin Gibbons 9bc9116656 split unicode-malformed.js 2018-11-05 15:23:03 -08:00
Kevin Gibbons 296f47a008 split non-unicode-property-names.js 2018-11-05 15:12:23 -08:00
Kevin Gibbons de339e98d6 split non-unicode-malformed.js 2018-11-05 14:58:03 -08:00
Rick Waldron f1e362d558 Fix typos; generate tests (#1907) 2018-10-26 17:11:05 -04:00
Mathias Bynens b9daa57dcb Rename to $DONOTEVALUATE per @leobalter's suggestion 2018-10-23 13:51:17 +02:00
Mathias Bynens e3feffb01e Move `throw "…"` for negative parsing errors to a helper function
Closes #1634.
2018-10-23 13:51:16 +02:00
Mike Pennisi ccaa9571ea Refactor string literal test for parsers
Thsi test for the parsing of string literals was expressed using `eval`.
This made the test more complex than necessary and also prevented the
test from providing value to ECMAScript parsers.

Remove the use of `eval` and instead express the expectation with
literal source text.
2018-07-13 16:17:19 -04:00
Mike Pennisi 4f1e628107 Remove erroneous test
This test is technically valid because it does trigger a SyntaxError in
conforming runtimes. However, it was authored and documented to test
LegacyOctalEscapeSequence, but due to an apparent typo, it actually
demonstrates an unrelated parsing error.

Because 'legacy-octal-escape-sequence-stricts.js' sufficiently tests the
restriction on LegacyOctalEscapeSequence, remove this test rather than
correct it.
2018-07-13 16:17:19 -04:00
Mike Pennisi 4e1a860abd Remove redundant test
This test for string literals asserts the restriction on
LegacyOctalEscapeSequence in strict mode. It is not sufficiently
distinct from the test 'legacy-octal-escape-sequence-stricts.js' to
warrant inclusion in the test suite. Because that test includes much
more thorough documentation, it should be preferred.
2018-07-13 16:17:19 -04:00
Mike Pennisi 2facd45c76 Remove redundant and indirect tests
A number of tests for string literals assert the restriction on
LegacyOctalEscapeSequence in strict mode code and differ only in the
escape sequence under test. Although each is valid, none of the escape
sequences are sufficiently distinct from the test
'legacy-octal-escape-sequence-stricts.js' to warrant their inclusion in
the test suite. Because that test's use of literal code makes it
consumable by parsers and because that test includes much more thorough
documentation, it should be preferred.

Summary of LegacyOctalEscapeSequences under test in the removed files:

    test/language/literals/string/7.8.4-10-s.js: eval('var x = " \\10 ";');
    test/language/literals/string/7.8.4-11-s.js: eval('var x = "\\16";');
    test/language/literals/string/7.8.4-12-s.js: eval('var x = "\\17";');
    test/language/literals/string/7.8.4-13-s.js: eval('var x = "\\30";');
    test/language/literals/string/7.8.4-14-s.js: eval('var x = "\\31";');
    test/language/literals/string/7.8.4-15-s.js: eval('var x = "\\37";');
    test/language/literals/string/7.8.4-16-s.js: eval('var x = "\\400";');
    test/language/literals/string/7.8.4-17-s.js: eval('var x = "\\411";');
    test/language/literals/string/7.8.4-18-s.js: eval('var x = "\\43a";');
    test/language/literals/string/7.8.4-19-s.js: eval('var x = "\\463";');
    test/language/literals/string/7.8.4-2-s.js:  eval('var x = "\\1";');
    test/language/literals/string/7.8.4-20-s.js: eval('var x = "\\474";');
    test/language/literals/string/7.8.4-21-s.js: eval('var x = "\\77";');
    test/language/literals/string/7.8.4-22-s.js: eval('var x = "\\777";');
    test/language/literals/string/7.8.4-23-s.js: eval('var x = "\\000";');
    test/language/literals/string/7.8.4-24-s.js: eval('var x = "\\001";');
    test/language/literals/string/7.8.4-25-s.js: eval('var x = "\\106";');
    test/language/literals/string/7.8.4-26-s.js: eval('var x = "\\207";');
    test/language/literals/string/7.8.4-27-s.js: eval('var x = "\\377";');
    test/language/literals/string/7.8.4-28-s.js: eval('var x = "\\376";');
    test/language/literals/string/7.8.4-29-s.js: eval('var x = "\\3760";');
    test/language/literals/string/7.8.4-3-s.js:  eval('var x = "a\\4";');
    test/language/literals/string/7.8.4-32-s.js: eval('var x = "\\1\\1";');
    test/language/literals/string/7.8.4-33-s.js: eval('var x = "\\1\\2\\7";');
    test/language/literals/string/7.8.4-4-s.js:  eval('var x = "z\\7";');
    test/language/literals/string/7.8.4-5-s.js:  eval('var x = "\\00a";');
    test/language/literals/string/7.8.4-6-s.js:  eval('var x = "\\01z";');
    test/language/literals/string/7.8.4-7-s.js:  eval('var x = "a\\03z";');
    test/language/literals/string/7.8.4-8-s.js:  eval('var x = " \\06";');
2018-07-13 16:17:19 -04:00
Rick Waldron f578b8754f NumericLiteralSeparator: Update "early" => "parse" in negative tests. Fixes gh-1512 2018-06-07 22:44:03 -04:00
Richard Gibson 3758f6a97c Add tests for LineContinuation in StringLiteral 2018-05-21 12:19:48 -04:00
Steve Fink fab08ab7a2 Add test for numeric literal followed by identifier 2018-05-09 15:45:52 -07:00
Richard Gibson dbc0c6b1cc Add json-superset feature 2018-05-08 14:19:44 -04:00
Richard Gibson ba124c31b2 Add tests for non-ASCII LineTerminator characters in string literals 2018-05-07 16:59:55 -04:00
Daniel Ehrenberg 73b8d9c773 Revert "Revert "Additional tests for QuantifiableAssertion" (#1458)" (#1459)
This reverts commit 173e98e00b.
2018-04-09 17:35:13 -04:00
Valerie 1e1d503c1b numeric literal seperators: test change in CodePoint production (#1464) 2018-02-28 13:58:22 -05:00
Leo Balter 173e98e00b
Revert "Additional tests for QuantifiableAssertion" (#1458) 2018-02-26 10:12:09 -05:00
Daniel Ehrenberg f9a0f05850 Additional tests for QuantifiableAssertion
- Tests that lookahead and lookbehind are not extended to
  QuantifiableAssertion, as in https://github.com/tc39/ecma262/pull/1102
- Additional tests verifying some more combinations of cases for
  QuantifiableAssertion being invalid in Unicode mode.

Based on the tests in https://chromium-review.googlesource.com/c/v8/v8/+/926102

These tests pass on V8 (if the throw for early errors is removed to
work around a V8 issue where RegExps don't have early errors).
2018-02-26 12:34:39 +01:00
Rick Waldron 12797840ae features: [numeric-separator-literal] 2018-02-08 11:13:54 -05:00
Leo Balter 53c00784b6 Revert "Revert "Tests for NumericSeparatorLiteral. Closes gh-1051" (#1188)"
This reverts commit 8422147c17.
2018-02-08 11:13:54 -05:00
André Bargull cbe12a53e1 Remove duplicate esids 2018-01-25 13:59:37 -05:00
Rick Waldron 4afc330363 Fix: various lint fixes 2018-01-10 17:29:48 -05:00
Rick Waldron 3be781c92d Fix: es6id -> esid sec-additional-syntax-numeric-literals 2018-01-10 16:01:45 -05:00
Mike Pennisi 136110378b Rename negative test "phase" for parsing
Early errors may result from parsing the source text of a test file, but
they may also result from parsing some other source text as referenced
through the ES2015 module syntax. The latter form of early error is not
necessarily detectable by ECMAScript parsers, however. Because of this,
the label "early" is not sufficiently precise for all Test262 consumers
to correctly interpret all tests.

Update the "phase" name of "early" to "parse" for all those negative
tests that describe errors resulting from parsing of the file's source
text directly. A forthcoming commit will update the remaining tests to
use a "phase" name that is more specific to module resolution.
2018-01-05 15:17:50 -05:00
Rick Waldron 92a2621901 Frontmatter: fixup "info: >" to "info: |" 2018-01-05 12:27:59 -05:00
Rick Waldron 5d4c667b27 test/language/literals/regexp/*: early error test fixups (#1276) 2017-10-16 12:46:28 -04:00
Leo Balter 60782de95e Tag tests for U+180E and complete coverage for RegExp matching 2017-09-25 15:27:59 -04:00
Daniel Ehrenberg dcf6b7b743 Merge pull request #1198 from leobalter/bigint-ctor
Basic tests for BigInt
2017-08-29 22:49:05 +02:00
Leo Balter 7765873c3e
Refactor tests for the BigInt construtor 2017-08-25 15:56:11 -04:00
Leo Balter bb9fc81101
Add tests for invalid BigInt MVs 2017-08-25 15:54:39 -04:00
Robin Templeton 37beb36524
add BigInt tests 2017-08-24 15:58:14 -04:00
Leo Balter 8422147c17 Revert "Tests for NumericSeparatorLiteral. Closes gh-1051" (#1188) 2017-08-21 11:54:21 -04:00
Rick Waldron 844e317ba6 Tests for NumericSeparatorLiteral. Closes gh-1051 2017-08-17 09:50:33 -04:00
Mike Pennisi 81d00def42 Force "early error" tests to fail if evaluated
This pattern makes expectations more explicit by making test files more
literal.
2017-06-28 11:24:36 -04:00
Kevin Gibbons 1ca752482d Add test that noctal escapes are forbidden in strings in strict code 2017-06-19 12:03:47 -07:00
Kevin Gibbons b4c633fc4f Add test for inequality of RegExps created from the same source (#776) 2016-10-20 11:41:31 -07:00
Mike Pennisi ade6d2e384 Remove "NotEarlyError" object
Because expectations regarding error "phase" are now expressed via test
meta-data, the test runner may now enforce this requirement on negative
tests.

Remove the "NotEarlyError" from the project source. This reduces the
amount of domain knowledge required to author tests and lessens the
potential for inconsistencies between tests.
2016-10-19 15:24:22 -04:00
Mike Pennisi 7d4b1d28ae Re-format tests for SyntaxErrors
Authored via the following command:

   $ find test -type f -print0 | \
       xargs -0 sed \
         -i 's/^\(\s*\)negative:\s*SyntaxError\s*$/\1negative:\n\1  phase: early\n\1  type: SyntaxError/g'
2016-10-19 15:24:21 -04:00
Mike Pennisi 24e774251a Test runtime errors with assertion utility method
Improve test consistency by using the `assert.throws` helper function to
assert runtime exceptions. Remove superfluous code.
2016-10-18 14:36:14 -04:00
jugglinmike 4ffee35d89 Add tests for surrogate pairs with RegExp atoms (#722) 2016-08-25 13:29:51 -07:00
Tom Care 8a6d7a49ee Merge pull request #711 from bocoup/audit2016-section-21-regexp
Improve coverage for section 21: RegExp
2016-08-04 16:22:18 -07:00
jugglinmike 8d78eddcc6 Add test for early error in RegExp literals (#723) 2016-07-08 18:01:35 -07:00
Mathias Bynens 3a5a09eba2 Ensure U+180E is no longer considered whitespace
Ref. https://hashseed.blogspot.com/2014/08/in-ecma-262-5.html
Ref. https://github.com/tc39/ecma262/pull/300#issuecomment-181376767
Ref. 9b10d2a597

Fix and add @anba’s U+180E tests
2016-07-06 10:11:32 -04:00
Mike Pennisi 4e781091f8 Improve tests for RegExp `lastIndex` property
The prior version of this test asserted only the property's
configurability. It was also limited to the RegExp object as returned
from the RegExp constructor.

Extend the test to verify all values of the property descriptor.
Duplicate these assertions in a separate file dedicated to the RegExp
object as created from a RegExp literal.
2016-06-29 17:29:43 -04:00
Mike Pennisi 9114f815a0 Add test for '^' assertion with 'm' flag
The specification contains an explicit informative NOTE explaining that
the 'm' flag does not effect the behavior of the '^' assertion. Add a
test to verify this.
2016-06-29 17:07:45 -04:00