Commit Graph

1431 Commits

Author SHA1 Message Date
Mike Pennisi 891b7915bd Remove superfluous EmptyStatement 2021-10-05 16:28:06 -04:00
Mike Pennisi 8f1fb5c257 Remove unused functions 2021-10-05 16:24:16 -04:00
Mike Pennisi a6834093aa Improve coverage by invoking functions as intended
Some tests which include function declarations designed to verify
behavior do not reference those functions. Insert the references
necessary for those functions to serve their intended purpose.
2021-10-05 16:22:56 -04:00
rwaldron 43c68163c0 Generate tests 2021-10-01 16:38:56 -04:00
Mike Pennisi d9ddf80479 Revert "Merge pull request #3219 from tc39/rwaldron/migrate-comparearray"
This reverts commit b690cb67be, reversing
changes made to 50dd431dff. This is
necessary because the reverted changeset reduced coverage by an unknown
extent.
2021-10-01 10:18:47 -04:00
rwaldron 4847d9db5a chore: update test/**/*.js to use assert.compareArray wherever applicable 2021-09-24 12:58:15 -04:00
Mathieu Hofman 5fee61c9e8
Add test for freezing of module namespace object (#3213)
Attempting to freeze the module namespace exotic object should not affect the `writable`-ity of the properties as that exercises the same `DefineOwnProperty` operation according to [`SetIntegrityLevel`](https://tc39.es/ecma262/#sec-setintegritylevel).

@erights discovered a [bug in v8](https://bugs.chromium.org/p/v8/issues/detail?id=12240) where, while the `Object.freeze` operation throws, it actually makes exported properties non-writable one by one.

At the request of @syg, I'm contributing a test against this behavior. The bug in v8 actually leads to a breakage of the objects invariants, however I'm not testing for that here as the root cause is the illegal freezing of the export.
2021-09-23 19:36:37 -04:00
Mike Pennisi 650e7add4a Improve coverage for ops involving negative zero
Prior to this commit, the modified tests used the strict equality
operator to compare computed values with negative zero. Due to the
semantics of that operator, these tests would spuriously pass if the
value under test was in fact positive zero.

Update the tests to be more precise by instead asserting equality with
the `assert.sameValue` utility method (since that method correctly
distinguishes between negative zero and positive zero).
2021-09-16 16:35:41 -04:00
Mike Pennisi 93ecde9f3a Correct typo to improve coverage
Prior to this commit, the modified test included two different
expressions in positions that were meant to describe the same
expression. This meant that the value of the intended expression was
only partially verified.

Correct the test to fully verify the value of the expression.
2021-09-16 16:34:28 -04:00
Mike Pennisi 4a7830beec Remove TCO tests invalidated by normative change
Normative: Define default constructors using spec steps
https://github.com/tc39/ecma262/pull/2216

Resolves https://github.com/tc39/test262/issues/2978
2021-09-07 17:51:10 -04:00
Mike Pennisi 2a898fe819 Add test for normative change to BlockStatement
Normative: continue labels should not pass through blocks
https://github.com/tc39/ecma262/pull/2482
2021-09-07 17:50:02 -04:00
Mike Pennisi 47ab262658 Throw distinctive errors for different failures
Prior to this patch, two distinct failure cases would produce the same
generic error message. Refactor the test logic to report the specific
condition which trigger failure.
2021-09-02 10:36:00 -04:00
Mickey Rose 603b10dbfa
avoid unnecessary calls to decimalToHexString() (#3170) 2021-09-01 17:26:54 -04:00
jugglinmike 49347e0cf9
Remove unreachable code (#3165)
* Remove unreachable code

* fixup! Remove unreachable code
2021-08-25 16:13:00 -04:00
legendecas 206a3f4932 fixup! add other function variants 2021-08-25 10:32:55 -04:00
legendecas c1c1ed47db fixup! 2021-08-25 10:32:55 -04:00
legendecas ddff7c5ded Add test for duplicated top level function declarations in modules 2021-08-25 10:32:55 -04:00
rwaldron 85aa16c4c0 Generate tests 2021-08-19 11:52:55 -04:00
André Bargull 47be34cef7 Split files which test for the property order of functions
So SpiderMonkey can run the other parts of these tests.
2021-08-05 18:23:52 -04:00
André Bargull d00039593d Add various private field and private method tests
This adds tests for implementation bugs in SpiderMonkey [1], plus
additional tests for implementation bugs in V8 and JSC.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1723155
2021-08-04 15:06:38 -04:00
André Bargull b74b15c49c
Derived class constructor checks are executed after leaving the function body (#3129) 2021-08-04 09:58:24 -07:00
rwaldron 8afbeda683 chore: migrate $ERROR -> throw new Test262Error in test/language/expressions/assignment/white-space.js 2021-07-29 15:21:12 -04:00
rwaldron 4a125f2f4e chore: migrate $ERROR -> throw new Test262Error in test/language/s* 2021-07-29 10:38:53 -04:00
Rick Waldron 64a4b76c62
chore: migrate $ERROR -> throw new Test262Error in test/language/e* (#3098) 2021-07-28 13:48:39 -07:00
Rick Waldron e5ab3a572e
chore: migrate $ERROR -> throw new Test262Error in test/language/f* (#3099) 2021-07-28 13:47:49 -07:00
Rick Waldron 0947f287ae
chore: migrate $ERROR -> throw new Test262Error in test/language/g* (#3101) 2021-07-28 13:47:15 -07:00
Rick Waldron f4914e133e
chore: migrate $ERROR -> throw new Test262Error in test/language/i* (#3102) 2021-07-28 13:46:58 -07:00
Rick Waldron 77fe50f174
chore: migrate $ERROR -> throw new Test262Error in test/language/line-terminators/* (#3103) 2021-07-28 13:46:23 -07:00
Rick Waldron 323233be54
chore: migrate $ERROR -> throw new Test262Error in test/language/l* (#3104)
Excludes test/language/line-terminators/*
2021-07-28 13:45:44 -07:00
Rick Waldron 2dcd653272
chore: migrate $ERROR -> throw new Test262Error in test/language/t* (#3106) 2021-07-28 13:44:19 -07:00
Rick Waldron 2581a439a5
chore: migrate $ERROR -> throw new Test262Error in test/language/white-space/* (#3107) 2021-07-28 13:43:40 -07:00
rwaldron 77cc528526 Generate tests 2021-07-22 15:31:36 -04:00
Rick Waldron e5fe379157
chore: migrate $ERROR -> throw new Test262Error in test/language/c* (#3097) 2021-07-21 14:02:21 -07:00
Rick Waldron 582d5e57ca
chore: migrate $ERROR -> throw new Test262Error in test/language/a* (#3095) 2021-07-21 13:42:51 -07:00
devsnek 80678e0bed Update identifier-strict-recursive.js 2021-07-20 10:33:29 -04:00
devsnek 2be28ba0c8 add test that delete early error is recursive 2021-07-20 10:33:29 -04:00
Mike Pennisi 3b06fd012a Update test for deletion of SuperProperty
The following proposed change modifies the semantics this test was
originally written to verify:

Normative: Allow null or undefined in Reference Records
https://github.com/tc39/ecma262/pull/2267
2021-07-19 13:28:09 -04:00
Richard Gibson 39026ea655 Add generated tests
Fixes #3039
2021-07-16 09:49:17 -04:00
Timothy Gu 6319cb1e2a Add more static class property ordering tests
Since https://github.com/tc39/ecma262/pull/1490, the "length" and "name"
properties of a class are defined before any static methods. This is
tested by #2057, in test/language/computed-property-names of all places.

At the same time, static methods with "name" as the name would overwrite
the original property, but retain the original property enumeration
order. This was not previously tested. In fact, the overwriting behavior
was not tested at all for the "length" property.

This commit mends both holes in test coverage.
2021-07-16 09:27:16 -04:00
jugglinmike afe217b318
Add tests for "Class Static Init. Blocks" proposal (#2968)
* Add tests for "Class Static Init. Blocks" proposal

This proposal is currently at "stage 3" in TC39's standardization
process.

* fixup! Add tests for "Class Static Init. Blocks" proposal

* Correct identifier reference

* Update tests for grammar

* Update tests for identifiers

* Add tests for scope derivation
2021-07-15 08:49:12 -04:00
Dan Clark 966c76617e
Add 'import-assertions' feature tag to json modules tests (#3016)
* Add 'import-assertions' feature tag to json modules tests

* Add a couple of others that I missed
2021-06-24 14:13:45 -04:00
Mike Pennisi 9b4ca4371b Add tests for change in Reference Records
These tests support the following normative change

"Normative: Allow null or undefined in Reference Records"
https://github.com/tc39/ecma262/pull/2267

The tests concerning the `delete` operator increase coverage to verify
behavior which, though related, is not altered by the normative change.
These tests are intended to guard against regressions as engines
implement the new semantics.
2021-06-24 13:16:43 -04:00
Mike Pennisi 93541f09e2 Test sequence during deletion of SuperProperty 2021-06-24 13:15:34 -04:00
Michael Dyck 52e7bfc4b6 "flags" is a top-level key, not a key within "negative" 2021-06-10 12:03:05 -04:00
Michael Dyck 675cad4aa3 Remove leading spaces from "---*/" line 2021-06-10 12:03:05 -04:00
Mike Pennisi e793512b55 Add tests for the "JSON modules" language proposal
https://github.com/tc39/proposal-json-modules

This proposal advanced to Stage 3 of TC39's standardization process on
2021-01-27.
2021-05-28 20:02:59 -04:00
Mike Pennisi d454b8389b Move some AnnexB tests per proposed spec change
Additionally, update test metadata and introduce two new tests to
complete coverage.

Reference: "Normative: Make B.1.{1,2} normative"
https://github.com/tc39/ecma262/pull/1867
2021-05-21 13:06:41 -04:00
jugglinmike 8183e9a629
Add test for TLA DFS invariant (#2989)
This behavior was introduced after the Top-Level Await proposal reached
stage 3: https://github.com/tc39/proposal-top-level-await/pull/159
2021-05-14 12:26:25 -04:00
Mike Pennisi 5ae04619a9 Generate tests 2021-05-14 11:04:29 -04:00
Mike Pennisi 18834b2e19 Add tests for import assertions 2021-05-14 11:04:29 -04:00
Mike Pennisi 9b622bf093 Remove or relocate misleading tests
These tests were designed to test the built-in "Promise.race Resolve
Element function," but ECMA262 does not describe such a function.

Contrary to the test's description, the function under test is created
by the InstantiateArrowFunctionExpression abstract operation. The
following tests verify most of the details directly (only the function
object's extensibility was not already tested by the existing tests):

- test/language/expressions/arrow-function/name.js
- test/language/expressions/arrow-function/throw-new.js
- test/language/expressions/arrow-function/prototype-rules.js

The definition of the built-in resolving functions is closely related,
but Test262 already includes tests for the corresponding concerns:

- test/built-ins/Promise/resolve-function-extensible.js
- test/built-ins/Promise/resolve-function-name.js
- test/built-ins/Promise/resolve-function-nonconstructor.js
- test/built-ins/Promise/resolve-function-prototype.js

Remove the tests and introduce one additional test to preserve coverage
while improving discoverability.
2021-05-11 17:36:28 -04:00
Stuart Cook 9da1d6119c
Add more tests for `for (async of` edge-cases (#2983) 2021-05-07 16:16:34 -04:00
Stuart Cook c11d6b00bc
Add a test for `for await (async of` (#2982) 2021-05-04 15:05:45 -04:00
Alexey Shvayka eca69e2c95 Test internal methods of module namespace objects with indices 2021-04-20 09:59:06 -04:00
Ross Kirsling 0f82225ccc Strengthen sloppy-mode tests for future reserved words. 2021-04-20 09:54:23 -04:00
Mike Pennisi 3addcc4b04 Generate tests 2021-04-20 09:53:57 -04:00
jugglinmike 61c6f8214b
Add tests for stage 3 proposal "private fields in" (#2963) 2021-04-19 07:50:52 -07:00
strager 6888a8df82
Fix typo in private getter/setter tests (#2971)
Several tests for getters and setters claim to check for an early
SyntaxError regarding mixing static and non-static propeties with the
same name. However, the tests trigger another issue: the getters have no
method body; they're missing curlies.

Fix the tests to test only the intended SyntaxError, not unrelated
SyntaxError-s.
2021-04-09 20:13:41 -04:00
Mike Pennisi aca79695ba Add coverage for `Yield` parameter in RHS of `in` 2021-03-06 12:28:45 -05:00
Alexey Shvayka c8daa32e48
Improve object rest/spread with Proxy coverage (#2930)
* Test object spread with Proxy

* Test object spread with non-enumerable keys and Proxy

* Test object rest with excluded keys and Proxy

* Test object rest with non-enumerable keys and Proxy
2021-02-26 16:59:51 -05:00
Gus Caplan 516ca9af39 Update tests for ECMA262 #2216
https://github.com/tc39/ecma262/pull/2216
2021-02-26 11:49:49 -05:00
jmdyck 11624af8d0
Update "info" field (#2941)
The quoted spec wording changed in ecma262#1694.
2021-01-28 16:03:01 -08:00
Caio Lima f81c2f5422 Adding test case for super access from class field defined as arrow function 2021-01-18 09:41:23 -05:00
Kevin Gibbons 96f1e2713b add tests for `for ( async of` 2021-01-18 09:40:36 -05:00
Alexey Shvayka 51666c5315 Improve coverage of mapped arguments' [[DefineOwnProperty]] method 2020-12-11 11:06:51 -05:00
Rick Waldron 8051f05354 Improved metadata 2020-11-18 16:44:55 -05:00
Rick Waldron fe5f8192de Fix typo 2020-11-18 16:44:55 -05:00
Rick Waldron b5ccbcb5e4 Coverage: Missing test for function length and parameter destructuring. Closes gh-2895 2020-11-18 16:44:55 -05:00
Rick Waldron 602c828805 Coverage: read-only function expression name. Closes gh-2896 2020-11-18 16:30:13 -05:00
Rick Waldron e1bfbbfdc8 Fix: Broken test: language/global-code/decl-lex-configurable-global.js. Closes gh-2897 2020-11-18 14:00:54 -05:00
Rick Waldron 1c33fdb0ca Test cases for invalid escape sequences preceding "use strict". Fixes gh-2893 2020-11-04 13:46:04 -05:00
Rick Waldron a563e3a3f8 Remove template that is generating duplicate tests 2020-10-29 13:48:50 -04:00
Rick Waldron d6b342338e arbitrary-module-namespace-names: Assertion correction. Fixes gh-2866 2020-10-19 17:47:40 -04:00
Rick Waldron 3439564fca Add "☿" export to export-expname_FIXTURE.js. Fixes gh-2866 2020-10-17 09:19:45 -04:00
Rick Waldron 23f30e527a Move $DONOTEVALUATE() calls to correct position 2020-10-16 20:37:40 -04:00
Rick Waldron 487b77eda8 Fix gh-2866 2020-10-16 20:34:32 -04:00
Shu-yu Guo f38e55def4 Add SyntaxError tests for string literal export name 2020-10-16 20:32:10 -04:00
Rick Waldron d8efa93bec Generate tests 2020-10-14 14:20:46 -04:00
Rick Waldron bab4da88e3 Remove erroneous test templates and generated files 2020-10-14 14:20:46 -04:00
Rick Waldron b89c3bf369 Generate tests 2020-10-14 14:01:01 -04:00
Caio Lima 72154b17fc Adding test cases to validate private field access with primitive receivers 2020-10-09 16:36:09 -04:00
Gus Caplan 6aa8338d23 add feature tags 2020-10-08 18:05:00 -04:00
Gus Caplan 881c9e3ba5 move __proto__ tests 2020-10-08 18:05:00 -04:00
Rick Waldron a6d38ffe9a Correction: add explicit language re: application of Forbidden Extensions, bullet 1 2020-10-07 16:43:31 -04:00
Rick Waldron 6db0565b76 Generate tests 2020-10-05 10:53:43 -04:00
Rick Waldron 9e71e2120a Generate tests 2020-10-05 10:53:43 -04:00
Gus Caplan ad8a5e9940 add Arbitrary module namespace names feature 2020-09-30 14:08:10 -04:00
Rick Waldron f4ec59ad38 Generate tests 2020-09-30 11:51:44 -04:00
Rick Waldron 70a39ad0fb Fix: test/language/module-code/export-expname_FIXTURE.js remove frontmatter. 2020-09-30 10:22:52 -04:00
Rick Waldron dc74a0b0ee Generate tests 2020-09-30 10:05:47 -04:00
Rick Waldron fd4ac46b34 Update test/language/module-code/export-expname-binding-string.js
Co-authored-by: ExE Boss <3889017+ExE-Boss@users.noreply.github.com>
2020-09-30 09:39:35 -04:00
Bradley Farias c43c9d8448 Exports can be Arbitrary Strings 2020-09-30 09:39:35 -04:00
Rick Waldron 348a706c5d Generate tests 2020-09-25 16:12:12 -04:00
Rick Waldron 677ae94ae9 Generate tests 2020-09-25 15:54:49 -04:00
Rick Waldron 21e97fb616 Generate tests 2020-09-25 14:42:12 -04:00
Rick Waldron 3f2a2aa464 Generate tests 2020-09-25 14:42:12 -04:00
Rick Waldron cd778bea8c Generate tests 2020-09-25 13:30:10 -04:00
Rick Waldron 73db72baad Generate tests 2020-09-25 13:15:33 -04:00
Rick Waldron 76dacfb17c Generate tests 2020-09-25 12:58:22 -04:00
Rick Waldron 5090f7adfe Generate tests 2020-09-25 12:01:39 -04:00
Rick Waldron e2a4e79a11 Coverage: formal parameter binding identifier "eval" must have the correct value in non-strict code. Fixes gh-2814 2020-09-24 14:54:48 -04:00
Rick Waldron 4bcc582183 Regenerate tests 2020-09-23 11:18:16 -04:00
Rick Waldron 601688856e Generate tests 2020-09-23 11:18:16 -04:00
Rick Waldron 41c5a42fa7 Generate tests 2020-09-22 10:37:57 -04:00
Rick Waldron b59bd307a8 Coverage: async arrow in ClassHeritage. Fixes gh-1736 2020-09-22 10:37:57 -04:00
Rick Waldron fd92897147 Generate tests 2020-09-22 10:37:38 -04:00
HyeockJinKim be99a3e519 Add coverage for rest properties with computed key
gh-2089
2020-09-22 10:31:33 -04:00
Rick Waldron 55652110f7 Update test/language/statements/try/completion-values-fn-finally-abrupt.js
Co-authored-by: Kevin Gibbons <bakkot@gmail.com>
2020-09-18 16:19:13 -04:00
Leo Balter 536ecd08a9 completion values of try-catch-finally 2020-09-18 16:19:13 -04:00
Rick Waldron 5de16292fd Coverage: try/catch/finally completion values. Fixes gh-1742 2020-09-18 16:19:13 -04:00
Rick Waldron 1ab47810d1 Generate tests 2020-09-17 16:24:07 -04:00
Rick Waldron be7e9ff98b Computed Property Names: YieldExpression that yields something. 2020-09-17 16:24:07 -04:00
Rick Waldron 916cdb72e5 Generate tests 2020-09-17 16:23:26 -04:00
Rick Waldron 67382a1e8e Add await test: await is valid in non-module strict mode code. 2020-09-17 16:22:22 -04:00
Rick Waldron 057a31e15e Add coverage for reserved words in shorthand properties. Fixes gh-1179 2020-09-17 16:22:22 -04:00
Rick Waldron ab4a019a4d Example output from legacy code transformer 2020-09-17 16:21:53 -04:00
Rick Waldron 9fc299915d get and set in MethodDefinition must not be escaped. Fixes gh-2078 2020-09-15 16:34:36 -04:00
Rick Waldron 92a200b29f Attempting to set a value to a binding that no longer exists must throw a ReferenceError exception in strict mode code. Fixes gh-427 2020-09-15 16:33:59 -04:00
Rick Waldron 8a2bfb48d4 Delete invalid tests 2020-09-15 16:33:59 -04:00
Rick Waldron a92de6fa2d Generate tests 2020-09-15 11:09:52 -04:00
Rick Waldron 485cb0b1c9 Coverage: check instanceof on instances of built-in subclasses. Fixes gh-659 2020-09-14 13:40:33 -04:00
Rick Waldron 6e6516a558 Switch: lexical declarations inner scope. Fixes gh-422 2020-09-14 13:39:57 -04:00
Rick Waldron f99bec89b7 Miscellaneous: cleanup very old delete operator tests. 2020-09-14 13:35:54 -04:00
Rick Waldron 3b1f4f7e1b Coverage: delete undefined.property. Fixes gh-2763 2020-09-14 13:35:54 -04:00
Rick Waldron 21cdcb85d1 Generate tests 2020-09-14 13:35:13 -04:00
Rick Waldron 5c753769e6 Fixup: remove duplicate tests 2020-09-14 13:35:13 -04:00
Frank Tang ab3a86d9b3 Move tests from
https://source.chromium.org/chromium/chromium/src/+/master:v8/test/test262/local-tests/
2020-09-14 13:35:13 -04:00
Rick Waldron b25e36cdb6 Generate tests 2020-09-10 16:22:34 -04:00
Rick Waldron 758b9ec575 Coverage: `new await ...` and `new (await ...)`. Fixes gh-1898 2020-09-10 16:09:50 -04:00
Rick Waldron accf91c57d Coverage gaps found by quickjs. Fixes gh-2370 2020-09-10 15:23:19 -04:00
Rick Waldron 378481b041 Coverage of super reference behaviour. Fixes gh-2451 2020-09-10 15:22:57 -04:00
Rick Waldron 8287422b64 Coverage for assignment to left hand side expressions that are an assignment. Fixes gh-2487 2020-09-10 15:22:33 -04:00
Rick Waldron 0a977a691d In strict mode code, attempts to assign to an unresolvable reference must throw a ReferenceError exception. Fixes gh-1964 2020-09-10 15:22:02 -04:00
Rick Waldron 629b6d0917 Generate tests 2020-09-10 11:14:18 -04:00
Rick Waldron ff08e2bd4f Generate tests 2020-09-10 11:14:18 -04:00
Rick Waldron 6bfcf4237a
SuperCall includes parenthesis. Fixes gh-1183 (#2754) 2020-09-04 11:42:43 -07:00
Alexey Shvayka c558dad25f Add permitted duplicate test for shorthand properties 2020-09-02 15:31:42 -04:00
Alexey Shvayka 4d4c160674 Expand permitted duplicate test with async/generator methods 2020-09-02 15:31:42 -04:00
Rick Waldron ced63df97b
ExportDeclaration : HoistableDeclaration; Fixes gh-2068 (#2737) 2020-08-20 14:42:35 -07:00
Alexey Shvayka 9411d7fccc Array binding: add generated tests 2020-08-20 12:48:08 -04:00
devsnek 00770684b5
Remove redundant and confusing test. (#2728)
The syntax error here is already tested by `language/expressions/delete/identifier-strict.js`. The description is just wrong.
2020-08-15 08:15:16 -07:00
Alexey Shvayka 9ddfa39eca Add generated files 2020-08-12 18:58:26 +03:00
akluball e73054f75e
Add tests for ZWJ and ZWNJ in identifiers (#2723) 2020-08-05 12:27:34 -07:00
Ross Kirsling ede5b2400f Test TV for tagged templates too. 2020-08-03 21:33:44 -04:00
Ross Kirsling f24b9004b3 Add tests for \9 in template/strict strings. 2020-08-03 21:33:44 -04:00
Ross Kirsling fb05c9a4df
Add tests for \8 in template/strict strings. (#2654) 2020-07-20 13:25:59 -07:00
Leo Balter 7e4657243b Refactor tests for static methods creation and fetching
Ref #2504
2020-07-15 16:13:40 -04:00
QuXing9 91a9abff4e
Add three testcases for test262 suite. (#2692)
* Add tests for escape function when parameter is not a string.

Fixes #2687
Fixes #2637

* Add test for indirect eval calls  when script is a for statement.

When for statement doesn't have a body, it should throw a SyntaxError.

Fixes #2661

* Add tests for Function Constructor when body contains usestrict.

Fixes #2688
Fixes #2638
2020-07-09 09:57:55 -07:00
Leo Balter 89f9c13449 Expand tests for Optional Chaining 2020-06-30 17:37:01 -04:00
Rick Waldron 362d7af20f Generate tests 2020-06-24 15:47:49 -04:00