Commit Graph

148 Commits

Author SHA1 Message Date
Ross Kirsling afe1b5adc7 Align copyright line with repo license. 2019-01-30 09:57:50 -05:00
Ross Kirsling 653a068481 Address feedback. 2019-01-30 09:57:50 -05:00
Ross Kirsling 815913a982 Test update for proposed Annex B.3.5 simplification 2019-01-30 09:57:50 -05:00
Ross Kirsling d0f57bff72 Ensure test file YAML blocks don't have a trailing space. (#2018) 2019-01-07 11:40:39 -02:00
Leo Balter 20c38d3396 Expand tests for duplicate lexical names of vardeclarednames in the same statementlist 2018-12-20 12:53:31 -05:00
Peter Marshall b3efcd2f3f Consistently use spaces in features lists (#2000) 2018-12-17 17:00:04 -02: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
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
Jeff Walden 358e5e8a0c Add a test covering the behavior of SingleLineHTMLCloseComment where the LineTerminatorSequence within is either Unicode separator code point. (#1612) 2018-06-27 17:48:24 -04:00
Daniel Ehrenberg 8d7dd538f1 Generate tests 2018-05-11 15:48:43 -04:00
André Bargull b552dad5cb Various test cases for cross-browser compliance bugs 2018-05-03 09:27:27 -07:00
André Bargull a1faccdd41 Fix various test bugs
- "CannotSuspendMainAgent" feature was changed to "CanBlockIsFalse" flag
- Move annex-b tests into annex-b directory
- Update variable names in nonshared-int-views.js tests
- Move getReport() call in nan-for-timeout.js to avoid iloop
- Update BigInt constructor to match new semantics (tc39/proposal-bigint#138)
2018-04-24 09:52:35 -07:00
Rick Waldron 6f59ddc457 Fix annex B tests 2018-01-25 14:37:36 -05:00
Valerie R Young 524f545f3d Add reference tests for trimLeft and trimRight 2018-01-25 14:10:40 -05:00
Valerie R Young 2905e6a293 fixup: Add initial tests for trim(Start/End/Left/Right) 2018-01-25 14:10:14 -05:00
Valerie R Young 5931e313fc Add initial tests for trim(Start/End/Left/Right) 2018-01-25 14:10:14 -05:00
André Bargull cbe12a53e1 Remove duplicate esids 2018-01-25 13:59:37 -05:00
André Bargull f717982c94 Remove unused includes 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
Rick Waldron bbf3301ff4 Fix: es6id -> esid sec-html-like-comments 2018-01-10 16:01:21 -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
André Bargull 9b54779018 Add tests for recompilation in @@split 2017-12-19 15:42:56 -05:00
André Bargull eecf0fd06b Add tests for html-comments in Function constructor call 2017-12-19 15:42:56 -05:00
André Bargull 2d6a356699 Move incomplete_hex_unicode_escape.js to annexB
Fixes #1313
2017-11-01 08:23:43 -07:00
Leo Balter f8f5a7a1e7
Add missing generators flags 2017-10-26 19:04:57 -04:00
Jeff Walden c05138b44c Modify $262.uncallableAndIsHTMLDDA() to $262.IsHTMLDDA (#1305)
Modify $262.uncallableAndIsHTMLDDA() to an optional $262.IsHTMLDDA (whose use must be guarded by a feature of the same name), and narrowly/correctly prescribe its requirements consistent with `document.all`'s behavior in HTML.
2017-10-19 15:03:21 -04:00
Jeff Walden 99ee383d3f Fix a minor error-message typo, and include the thrown error in the TypeError-testing error message. 2017-10-18 15:28:36 -04:00
Jeff Walden 2974f19e89 Add a test for GetIterator(obj, ~async~) attempting to call obj[@@asyncIterator] even if that value is an object with an [[IsHTMLDDA]] internal slot. 2017-10-18 00:27:10 -07:00
Jeff Walden 76c1a8fa3a Add tests for the case of <iterator>.return, as used in the iteration protocol, being an object that's uncallable and compares equal to `undefined`. 2017-10-17 12:21:43 -07:00
André Bargull 804e008310 Split Annex-B parts of non-unicode-malformed.js into annexB folder 2017-09-18 14:39:32 -04:00
Leo Balter 358a295db0 Use verifyProperty on test/annexB/ files 2017-09-08 10:13:36 -04:00
Leo Balter 7630235d5d Re-generate tests 2017-09-08 10:13:36 -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
Rick Waldron d0ba3251d2 Restore migration to assert.sameValue
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-06-26 14:36:51 -04:00
Daniel Ehrenberg a2f44c7151 Additional test for range case pointed out by @anba 2017-06-23 12:16:28 -04:00
Daniel Ehrenberg 0e6acc0842 Change test based on new spec version 2017-06-23 12:16:28 -04:00
Daniel Ehrenberg b82be14e26 Add tests for invalid \c in character class
This patch implements tests for https://github.com/tc39/ecma262/pull/864
2017-06-23 12:16:28 -04:00
Daniel Ehrenberg ce217fffad Improve invalid \c escape tests 2017-06-23 12:16:28 -04:00
André Bargull d887db88ee Add tests escaped/unescaped yield/await labels 2017-05-02 12:09:30 -07:00
Leo Balter ca314476a9 Update RegExp tests for named-capturing and dotAll (#1009)
* Split order tests for RegExp#flags

* small fixes for RegExp named groups

* Remove invalid syntax

* The test mustn't include the global flag
2017-05-01 12:08:31 -04:00
Leo Balter fa9aae7750
Use assert api instead of $ERROR 2017-04-24 15:31:52 -04:00
Mike Pennisi 2c0c3e7f96 Correct typo in copyright information 2017-04-18 12:23:22 -04:00
Daniel Ehrenberg f759df6322 Copyright attribution for test 2017-04-17 12:49:47 +02:00
André Bargull d59e30c95e Remove execute bit from files (#976) 2017-04-13 16:24:07 -04:00
Daniel Ehrenberg 89e15ce814 Test to block legacy hoisting for `function arguments() {}` (#970)
Ref https://github.com/tc39/ecma262/issues/815
Ref https://github.com/tc39/ecma262/pull/889

This is testing the current semantics of the specs, rather than the semantics in the proposed referenced issue.
2017-04-13 11:06:16 -04:00
Leo Balter ce95292899 Merge pull request #939 from dilijev/typo
Corrected typo in annexB templates exsting->existing
2017-04-06 11:57:57 -04:00
Doug Ilijev 5da6f981e9 Add escape-above-astral.js to cover escaping code units as encoded from extended unicode escape. (#942) 2017-03-28 20:09:16 -04:00
Doug Ilijev 7bc56aaf2f Regenerated tests. 2017-03-27 17:49:48 -07:00
Leo Balter e45b2ae532 Add tests for computed __proto__ property keys (#916)
Fixes #904
2017-03-16 12:16:27 -04:00
Leonardo Balter 340543bc11
Rename top level 'name' and 'length' bindings
Fix 850
2017-03-14 12:43:24 -04:00
Zirak ed2bcdc0a9 Add missing test cases for set __proto__ (#898)
Fixes #887
2017-03-13 11:03:28 -04:00
Leonardo Balter 874ce565ed
Generate tests 2017-03-06 16:05:38 -05:00
André Bargull 204266794c Fix various test issues (#840)
test/annexB/built-ins/Date/prototype/setYear/time-clip.js
test/built-ins/Date/prototype/setFullYear/new-value-time-clip.js
test/built-ins/Date/prototype/setMonth/new-value-time-clip.js
- Don't try to test time-clip at the end points, because this is near
impossible to get right (needs to consider time zone offset, dst, local
mean time because of Africa/Monrovia, etc.).

test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js
test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js
- Wasn't update to expect RangeError

test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js
- Change ClassDeclaration -> ClassExpression to get completion value

test/built-ins/Function/prototype/toString/AsyncFunction.js
- Add missing \n in expected string
- Also fixed in gh-847

test/built-ins/global/global-object.js
- Add 'var' to make test pass in strict-mode

test/language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-function-declaration.js
- This is allowed in sloppy mode when Annex B is implemented

test/language/expressions/async-generators/expression-yield-as-statement.js
- Fix calls to then()

test/language/module-code/namespace/internals/own-property-keys-binding-types.js
test/language/module-code/namespace/internals/own-property-keys-sort.js
- Tests weren't updated after removal of @@iterator from module
namespace objects

test/language/module-code/namespace/internals/set-prototype-of-null.js
- Fix syntax error

test/language/statements/async-function/early-errors-no-async-generator.js
- No longer valid now that async iteration proposal is at stage 3
2017-02-07 11:10:56 -05: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 0c29e6de86 Reformat miscellaneous negative tests
The expected errors in these tests cannot be asserted with the
`assert.throws` helper function for various reasons. Re-format their
meta-data according to the latest design in order to more precisely
describe test expectations.
2016-10-19 15:24:19 -04:00
Kevin Gibbons d6580e8b66 Add tests for for-in initializers (#735)
These were re-introduced in sloppy mode per
https://github.com/tc39/ecma262/pull/614
2016-08-02 15:47:39 -04:00
jugglinmike a41b71115b Annex b skip fib (#704)
* Re-generate tests

The test generation tool has been modified in the time since these tests
were first generated and committed to the project. Re-generate the tests
using the latest version of the tool.

* Add test cases for Annex B hoisting disqualifiers

The "variable-like" function hoisting semantics defined in Annex B
extension B.3.3 is only applied if "[...] replacing the
FunctionDeclaration f with a VariableStatement that has F as a
BindingIdentifier would not produce any Early Errors [...]". Test262
previously included tests for this condition when the disqualifying
early error originated from the ScriptBody and FunctionBody productions.

Add test cases to assert the behavior when it is disqualified by all
other relevant early errors: Block statements, `for` statements,
`for-of` statements, `for-in` statements, and Switch statements.

* Generate tests

* fixup! Add test cases for Annex B hoisting disqualifiers

* fixup! Add test cases for Annex B hoisting disqualifiers

Correct test case "info" meta-data.

* fixup! Add test cases for Annex B hoisting disqualifiers

Improve test bodies

* fixup! Generate tests
2016-07-11 16:37:42 -07:00
jugglinmike 23efc2c96a Extend test for HTML comments (#684)
Extend test for HTML comments

The V8 engine incorrectly requires a leading newline character for
MultiLineComments which contain the optional trailing HTMLCloseComment
[1]. Extend the current tests to fail when such an invalid restriction
is in place.
[1] https://bugs.chromium.org/p/v8/issues/detail?id=5142
2016-06-28 15:54:40 -07:00
jugglinmike 01fe0d331b Add tests for Annex B `Object.prototype` methods (#626) 2016-06-08 12:41:26 -04:00
Leo Balter 1e75730d5f Merge pull request #587 from bocoup/generation-annexb-fns
Add tests for Annex B "function in block" semantics (procedurally generated)
2016-05-31 17:45:48 -04:00
jugglinmike a12e271269 Add tests for RegExp.prototype.compile (#632) 2016-05-30 16:52:04 -04:00
Leo Balter 28e707e367 Merge pull request #631 from bocoup/annex-b-date
Add tests for Annex B extns to Date.prototype
2016-05-19 20:20:36 -04:00
jugglinmike 2c33050732 Add tests for Annex B String.prototype.substr (#628) 2016-05-19 20:18:20 -04:00
jugglinmike c6b0864d2b Extend tests for Annex B String HTML methods (#627)
- Add tests for abrupt completion handling from ToString operations
- Add tests for method property descriptors
- Remove redundant assertion
2016-05-19 20:16:21 -04:00
jugglinmike c6a152558d Add tests for Annex B extn: __proto__ in obj init (#633) 2016-05-19 13:01:07 -04:00
jugglinmike d8f1b92cf4 Add tests for Annex B extn: O.p.__proto__ (#625) 2016-05-16 13:53:43 -04:00
jugglinmike cb40133425 Add tests for Annex B extns to global object (#624)
Extend tests for the `escape` and `unescape` built-ins to assert their
behavior. Rely on the latest ECMAScript draft, which specifies that
`escape` returns hexadecimal codes in upper case.
2016-05-16 13:53:30 -04:00
Mike Pennisi 37b3e7c080 Add tests for Date.prototype.getYear 2016-05-11 10:34:23 -04:00
Mike Pennisi 1a66e812c8 Add tests for Date.prototype.setYear 2016-05-11 10:34:22 -04:00
Mike Pennisi 018ad2110d Streamline tests for Date.prototype.toGMTString
Introduce a test that asserts the equality of
`Date.prototype.toGMTString` and `Date.prototype.toUTCString`, rendering
further tests for the former's behavior unnecessary.
2016-05-11 10:16:39 -04:00
Mike Pennisi 43bce311db Add tests for Annex B extns to RegExp patterns
Remove previously-existing tests in favor of new versions that are more
complete and more appropriately named.
2016-05-10 10:38:04 -04:00
jugglinmike f7a61edc6f Add tests for Annex B extns to numeric literals (#608) 2016-05-09 18:31:23 -04:00
jugglinmike db8ff7cc01 Add tests for Annex B extns to comments (#612) 2016-05-09 18:29:18 -04:00
jugglinmike aebf3d63bc Add tests for Annex B extns to string literals (#610)
This change set does not include a test for restrictions relating to
template literals because such a test already exists in the project.

While a form of this test for string literals in strict mode code
existed previously, it is less precise and relies on unrelated
semantics. Remove the previous form and replace with a more direct
version.
2016-05-06 11:19:09 -04:00
Mike Pennisi eb644bb2da Reduce reliance on `fnGlobalObject.js`
This harness function is not necessary in the majority of cases in which
it is used. Remove its usage to simplify tests and decrease the amount
of domain-specific knowledge necessary to contribute to the test suite.

Persist the harness function itself for use by future tests for ES2015
modules (such a helper is necessary for tests that are interpreted as
module code).
2016-04-25 11:09:21 -07:00
jugglinmike 38329a7038 Add tests for TryStatement binding restrictions (#577)
This changeset includes tests for early errors and those generated
dynamically by eval. It also accounts for relevant AnnexB extensions.
2016-04-21 15:54:25 -04:00
Mike Pennisi d8c686e310 Generate tests 2016-04-18 16:19:29 -04:00
Mike Pennisi fbce4ea11c Reorganize tests for Annex B extensions
The "mainline" tests in Test262 are converging on a more formal
structure. Files are organized as tests for either either "language"
(e.g. syntax-driven) or "built-in" (e.g. API-driven). "Language" test
locations are themselves structured according to whether the syntactic
form under test is an Expression or a Statement.

To limit ambiguity when locating/adding tests, re-organize the tests for
Annex B extensions to match this structure.
2016-02-10 10:15:35 -05:00
André Bargull bb1bda6dfd Add missing tests for "length" and "name" properties of AnnexB built-in functions 2016-01-15 18:11:38 +01:00
André Bargull 5e3eed63b9 Move Symbol.species and AnnexB tests to new subfolders 2016-01-15 18:11:03 +01:00
André Bargull b62dccf1dc Add test cases for recent ES2016 fixes
- lastIndex in RegExp.prototype[Symbol.split]: tc39/ecma262@08b4756747
- Missing number conversion in DataView.prototype.setXXX: tc39/ecma262@4f875fe96d
- Negative zero byteoffset in TypedArray: tc39/ecma262@2d1ed20db7
- EvalDeclarationInstantiation throws TypeError: tc39/ecma262@2be6968715
- BindingRestElement allows BindingPattern: tc39/ecma262@d322357e6b
- Eval in parameters with computed property keys: tc39/ecma262@04e2e9b719
- Use strict with non-simple parameters: tc39/ecma262@15b0db41ed
- __proto__ in strict mode: tc39/ecma262@5c1984334d
2015-12-15 17:33:49 +01:00
André Bargull ffec41b7af Improve compatibility for engines without support for Annex B 2015-09-07 20:40:09 +02:00
Rick Waldron 03d2f68c9c Remove all remaining occurrences of runTestCase 2015-09-04 16:47:13 -04:00
Mike Pennisi 2fe074134a Add tests for function `name` attribute
This change set includes tests for most invocations of the
SetFunctionName abstract operation in the ES2015 specification.
Practical testing considerations preclude the introduction of tests for
certain invocations:

- The project is still vetting methods to sustainably test the semantics
  of the Destructuring Binding pattern across all valid productions.
  - 13.3.3.6 Runtime Semantics: IteratorBindingInitialization
  - 13.3.3.7 Runtime Semantics: KeyedBindingInitialization
- Without a loader, there is no way to access a function object declared
  in an ExportDeclaration, so `name` assignment cannot be tested in
  these cases
  - 14.1.19 Runtime Semantics: InstantiateFunctionObject
  - 14.4.12 Runtime Semantics: InstantiateFunctionObject
  - 14.5.15 Runtime Semantics: BindingClassDeclarationEvaluation
  - 15.2.3.11 Runtime Semantics: Evaluation
2015-07-21 20:05:34 -04:00
Brian Terlson 2284a46ebf Merge pull request #385 from anba/license
Change license headers to standard format
2015-07-17 11:03:07 -07:00
André Bargull 023c7aa69e - Remove inline license
- Remove duplicate word
- Add missing license
2015-07-17 19:55:00 +02:00
André Bargull a85f5039e0 Remove links to hg.ecmascript.org 2015-07-17 17:43:09 +02:00
Leonardo Balter 22097eeaf4 fixup
- move Object.prototype.__proto__ tests to annexB
- remove RegExp.prototype.unicode name test
2015-07-06 17:50:33 -04:00
André Bargull e31ae1ad9f Invalid language tests
- in-statement-position-label-statement.js is an Annex-B test (B.3.2 Labelled Function Declarations), moved to annexB directory
- identifier-let-allowed-as-lefthandside-expression-strict.js needs to check for a SyntaxError (ES6, 12.1.1)
- Remove sort() calls in test/built-ins/Object/getOwnPropertyNames/*.js
- Remove sort() calls in test/language/block-scope/syntax/for-in/acquire-properties-from-*.js
- verifyConfigurable() needs to called last in test/built-ins/Object/is/length.js
- All productions within ClassBody are implicitly strict, update test/language/class/method-definition/yield-as-*.js accordingly
- Remove unnecessary noStrict flag in test/language/class/method-definition/yield-as-generator-method-binding-identifier.js
- Check own symbols are returned in property creation order from Object.getOwnPropertySymbols():
  - test/language/computed-property-names/basics/symbol.js
  - test/language/computed-property-names/class/method/symbol.js
  - test/language/computed-property-names/class/static/method-symbol.js
  - test/language/computed-property-names/object/method/symbol.js
- Fix copy-paste error in test/language/expressions/object/method-definition/yield-as-function-expression-binding-identifier.js
2015-04-27 16:56:19 +02:00
Caitlin Potter 6e88ac5cec remove non-printable characters from tests 2015-04-18 20:34:08 -04:00
Mike Pennisi 57f08522ee fixup! Move tests for Annex B extensions 2015-04-02 18:42:06 -04:00
Mike Pennisi 4431c2bc56 Import tests from Google V8
These tests are derived from the following files within the Google V8
project:

test/mjsunit/es6/string-html.js
2015-02-20 14:33:47 -05:00
Rick Waldron cda3ec74a1 ES6-specific tests: es5id=>es6id, new es6id entries. Closes gh-144 2015-02-12 16:36:13 -05:00
Brian Terlson 2a74f0ec1b Reorganize ./test 2014-12-07 15:33:09 -08:00