Commit Graph

1697 Commits

Author SHA1 Message Date
Ross Kirsling 800870cbb8
Fix DST sensitivity in Date/parse/without-utc-offset.js. (#2523) 2020-03-10 18:07:44 -07:00
Ross Kirsling df7a0b0c89 Remove errant LF from CR line ending test again. 2020-03-02 13:38:35 -05:00
Shu-yu Guo f6b2ccdd09
Use assert instead of the nonexistent assert.ok (#2510) 2020-02-24 15:30:05 -08:00
Alexey Shvayka 6d4b62614b Add Symbol.isConcatSpreadable get order test 2020-02-20 12:38:28 -05:00
Alexey Shvayka e8c53a2d4e Add "length" exceeding integer limit test 2020-02-20 12:38:28 -05:00
Alexey Shvayka b1e8a1cf8d Refactor 2 tests using propertyHelper.js harness 2020-02-20 12:38:28 -05:00
Alexey Shvayka 602cdaca46 Add Array#flatMap non-extensible test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 08634993b4 Add Array#flatMap non-configurable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 2d3a718c8e Add Array#flatMap non-writable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka e9a7dc5eb6 Add Array#flat non-extensible test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 9b7f7bb80a Add Array#flat non-configurable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka e9c8807caf Add Array#flat non-writable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 61e969d953 Add Array#concat non-extensible tests 2020-02-20 12:36:10 -05:00
Alexey Shvayka 3fa940e7cd Add Array#concat non-configurable property tests 2020-02-20 12:36:10 -05:00
Alexey Shvayka 5faee49d36 Add Array#concat non-writable property tests 2020-02-20 12:36:10 -05:00
Alexey Shvayka 8310766461 Add Array#splice non-extensible test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 4566372b88 Add Array#splice non-configurable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 7c8dac120f Add Array#slice non-extensible test 2020-02-20 12:36:10 -05:00
Alexey Shvayka b6590765f9 Add Array#slice non-configurable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 06357bed6a Add Array#filter non-extensible test 2020-02-20 12:36:10 -05:00
Alexey Shvayka d842aa21af Add Array#filter non-configurable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 10ead92024 Add Array#map non-extensible test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 1f7a0be6f5 Add Array#map non-configurable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka ac1c1b23c6 Add Array.of non-writable property test 2020-02-20 12:36:10 -05:00
Alexey Shvayka 61aa9951f2 Add Array.from non-writable property tests 2020-02-20 12:36:10 -05:00
Alexey Shvayka 8d4fbb4ab9 Add Array.from with non-iterable test 2020-02-20 12:36:10 -05:00
Alexey Shvayka b478d5fa29 Make Array.from with iterable test more precise 2020-02-20 12:36:10 -05:00
Daniel Ehrenberg c6dd620ad3 Rename FinalizationGroup to FinalizationRegistry
Corresponds to https://github.com/tc39/proposal-weakrefs/pull/183

(Note, this is untested)
2020-02-20 12:13:29 -05:00
Ross Kirsling 723205bd54 Fix invalid YAML from #2470 and #2474. 2020-02-20 12:12:03 -05:00
Jordan Harband a1fbd310e0 `Atomics.store` now normalizes -0 to +0
Per https://github.com/tc39/ecma262/pull/1827
2020-02-13 10:39:14 -05:00
Gus Caplan 900855b07b Fix Promise/prototype/finally/rejected-observable-then-calls-argument 2020-02-13 10:37:24 -05:00
Gus Caplan 47f8c1c976 add more missing feature flags 2020-02-13 10:36:42 -05:00
Gus Caplan 505949357b Fix call to $DONE 2020-02-08 08:55:38 -05:00
Gus Caplan 5b231ab2d6 add missing WeakSet and WeakMap features 2020-02-08 08:54:09 -05:00
Rick Waldron 811090fce2 Fix: \$DONE() must not be called with an argument, unless the argument is an error. 2020-02-07 12:24:43 -05:00
Jordan Harband 0ebbdf0395 `Promise.prototype.finally` thunks have a length of 0 2020-02-07 11:44:31 -05:00
Natalie Silvanovich 5c9b5ed610 Updating description for search element test 2020-02-06 12:43:52 -05:00
Natalie Silvanovich 07e708d900 TypedArray includes tests 2020-02-06 12:43:52 -05:00
Natalie Silvanovich 7ad85e90a9 Security test for TypedArray.prototype.sort based on CVE-2016-7288 2020-02-06 11:10:17 -05:00
Alexey Shvayka 72c4433687 Add `replaceValue` evaluation order test 2020-02-05 15:08:07 -05:00
Alexey Shvayka 946a2a3fec Merge "length" tests 2020-02-05 15:08:07 -05:00
Alexey Shvayka 57d5ffa471 Fix $DONE usage 2020-02-05 15:05:51 -05:00
Alexey Shvayka c5b1c97362 Fix isConstructor checks 2020-02-05 15:05:51 -05:00
Alexey Shvayka b3ec56fb8c Add CreateResolvingFunctions tests 2020-02-05 15:05:51 -05:00
Alexey Shvayka 8ce27898b9 Add Then Finally Functions test 2020-02-05 15:05:51 -05:00
Alexey Shvayka 1e13f2b1e7 Add Catch Finally Functions test 2020-02-05 15:05:51 -05:00
Alexey Shvayka 95fd012c66 Add isConstructor to Promise.prototype.finally test 2020-02-05 15:05:51 -05:00
Natalie Silvanovich a12677ec4c Adding security tests for TypedArray.prototype.fill based on CVE-2016-4734 2020-02-05 15:04:06 -05:00
Natalie Silvanovich c2e157240d Test that Typed Array internal slots are not inherited by TypedArray.prototype.buffer 2020-02-05 14:31:10 -05:00
Alexey Shvayka 963917618f Test that JSON.stringify calls replacer on deleted properties 2020-02-05 14:25:04 -05:00
Alexey Shvayka 4383f2c6ba Add Object.{freeze,preventExtensions,seal} abrupt completion tests (#2468)
* Add Object.freeze test

* Add Object.preventExtensions test

* Add Object.seal test
2020-01-14 11:31:45 -05:00
Ross Kirsling 01007880bc Add test verifying offsetless date-time string is local time. (#2461)
* Add test verifying offsetless date-time string is local time.

* Fix copyright year.
2020-01-08 15:32:28 -05:00
Ross Kirsling 623e9d199a Add tests for Array methods throwing with string receiver. (#2463) 2020-01-08 14:00:30 -05:00
Leo Balter 6e4d442cc6
Fix syntax typos + whitespace (#2466)
Ref #2444
2020-01-08 13:57:49 -05:00
Natalie Silvanovich 65afdfbff6 Additional tests for TypedArray copyWithin (#2444) 2020-01-08 13:26:40 -05:00
Gus Caplan 502cc20010 fix delete test, add error tests, fix lint (#2453) 2019-12-21 16:57:41 -05:00
Alexey Shvayka 19fd4bea79 Improve Object.prototype.isPrototypeOf coverage (#2446) 2019-12-18 21:33:31 -05:00
Mathieu Hofman a3370bfca5 FinalizationGroup: Improve tests for cleanupSome/unregister interactions (#2440)
* Add test for unregister when the cell was already cleaned up

* FinalizationGroup.cleanupSome: call unregister after gc is performed
2019-12-18 11:26:54 -05:00
Natalie Silvanovich 0ddce199d5 Adding tests for Array.prototype.copyWithin (#2443)
* Adding tests for Array.prototype.copyWithin. This case caused a security bug in Moddable
2019-12-18 11:26:19 -05:00
Kevin Gibbons cadd47aa5f Add test for for-in order (#2432)
* Add EnumerateObjectProperties tests for builtins which use it

* Add tests for EnumerateObjectProperties for for-in

* Add feature flag for for-in-order
2019-12-18 11:25:20 -05:00
Jon Coppeard f7ad2953ed Update tests now that FinalizationGroup.prototype.cleanupSome throws if cleanup is currently in progress. (#2434)
This behaviour was changed in: https://github.com/tc39/proposal-weakrefs/pull/158
2019-12-18 11:23:23 -05:00
Leo Balter 5c41447b75
Remove incorrect tests for AggregateError#toString (#2435)
A conforming implementation of ECMAScript may provide additional types, values, objects, properties, and functions beyond those described in this specification. In particular, a conforming implementation of ECMAScript may provide properties not described in this specification, and values for those properties, for objects that are described in this specification.

Ref #2433
2019-12-03 12:43:58 -05:00
Leo Balter 3682ddd7e3
Add tests for String#replaceAll (#2423)
Fixes #2417
2019-11-18 10:22:07 -05:00
Leo Balter 7040938bd0
Fix tests for AggregateError (#2419)
Ref tc39/proposal-promise-any#49
2019-11-15 12:46:58 -05:00
Jon Coppeard 43b0c7650d Update tests for FinalizationGroup#register (#2424)
FinalizationGroup#register should throw if called with target and holdings being the same value.

This change happenend in: https://github.com/tc39/proposal-weakrefs/pull/165
2019-11-14 11:13:32 -05:00
Leo Balter 8f8b3374c2
Merge pull request #2420 from shvaikalesh/improve-json-parse-coverage
Improve JSON.parse reviver parameter coverage
2019-11-12 13:38:48 -05:00
Leo Balter 8544b062f3
Merge pull request #2418 from leobalter/remote-aggregateerror-tostring
Remove aggregateerror tostring
2019-11-12 11:56:30 -05:00
Alexey Shvayka 5728e1b6c9 Add reviver prototype chain lookup tests 2019-11-12 02:14:05 +02:00
Alexey Shvayka 80a99f703b Add reviver object with non-configurable property tests 2019-11-12 02:14:05 +02:00
Alexey Shvayka 027cc0c0ca Add reviver array with non-configurable property tests 2019-11-12 02:14:05 +02:00
Alexey Shvayka 64ce046229 Add reviver wrapper test 2019-11-11 23:58:07 +02:00
Alexey Shvayka da9612db98 Add some more Proxy/ownKeys invariants tests (#2413)
* Defer making [[ProxyTarget]] non-extensible

* Fix typo in method name

* Add last Object.keys with Proxy invariant test

* Add Object.getOwnPropertySymbols with Proxy invariants tests

* Add Object.getOwnPropertyNames with Proxy invariants tests

* Replace "es6id" with "esid" in Object.getOwnPropertySymbols tests
2019-11-11 15:02:07 -05:00
Alexey Shvayka 600245fcd3 Add integer index tests for Proxy "set" and "has" traps (#2412)
* Make Proxy [[HasProperty]] in prototype test more robust

* Add integer index Proxy [[HasProperty]] in prototype test

* Add integer index Proxy [[Set]] in prototype test
2019-11-11 15:01:39 -05:00
Leo Balter 02bdf77b19 Add test for AggregateError's toString
Ref tc39/proposal-promise-any#49
2019-11-11 12:19:20 -05:00
Leo Balter 90231ad16f Remote tests for AggregateError.prototype.toString
Ref tc39/proposal-promise-any#49
2019-11-11 11:20:24 -05:00
Gus Caplan a53f43e1ce
add missing newlines in tests 2019-11-10 20:18:56 -08:00
Leo Balter 1bc193528b
Add tests for AggregateError (#2406)
This covers part of the Promise.any proposal
2019-11-07 11:01:21 -05:00
Jordan Harband 59d1af9d2a [matchAll] pass a global regex (#2399)
- also, expect the right kind of error in `flags-undefined-throws.js`

Fixes #2398
2019-10-09 10:32:39 -04:00
Leo Balter d49777de27 Whitespace cleanups. CRLF => LF 2019-10-08 20:44:09 -04:00
Alexey Shvayka bb6ce7e435 Add test for Proxy "has" trap on prototype (#2382)
* Use allowProxyTraps.js in [[Set]] tests

* Add [[HasProperty]] test
2019-10-08 14:58:27 -04:00
Alexey Shvayka 1aac32e2f8 Improve Proxy/ownKeys invariants coverage (#2384)
* Add non-configurable invariant test

* Add non-extensible invariant test
2019-10-08 14:54:46 -04:00
Alexey Shvayka 71a70fc117 Use isConstructor in "executor-function-nonconstructor.js" (#2393) 2019-10-08 14:41:29 -04:00
Mathias Bynens a898fe9826 Add missing `regexp-match-indices` feature tags (#2395) 2019-10-08 14:38:39 -04:00
Leo Balter 8688c4ab79
Fix typo: iterator => iterator (#2394)
Fix #2392
2019-10-07 12:43:23 -04:00
Jordan Harband f3e950e8ed tests for String.prototype.matchAll changes (#2389)
Per https://github.com/tc39/ecma262/pull/1716
2019-10-03 14:47:00 -04:00
Leo Balter e2903e2648
Merge pull request #2366 from bocoup/unnecessary-includes
Remove unnecessary "includes" directives
2019-09-27 16:46:22 -04:00
jugglinmike 87e875f6c9 Correct errors in metadata (#2378)
* Correct typo

* Correct esid
2019-09-27 16:32:52 -04:00
jugglinmike 8953024f1a Remove duplicate tests (#2377)
* Remove duplicate test

The behavior under test is verified by another file in Test262:

test/language/expressions/compound-assignment/S11.13.2_A2.1_T3.3.js

That version is preferable because it does not depend on `eval` and
because it supports both strict and non-strict mode.

* Remove overly-permissive test

By asserting only the presence of an "own" property, this test can be
satisfied from both strict mode code and non-strict mode code.

The following test verifies the presence of the "own" property and the
associated descriptor's values in strict mode:

test/language/arguments-object/10.6-13-c-3-s.js

That subsumes the semantics verified by this test, making it
superfluous. Remove the test.

* Remove overly-permissive test

By asserting only the absence of a syntax error, this test can be
satisfied from both strict mode code and non-strict mode code.

The following test verifies the runtime behavior of accessing the
property in strict mode code:

test/language/arguments-object/10.6-13-c-1-s.js

That subsumes the semantics verified by this test, making it
superfluous. Remove the test.

* Remove duplicate test

The behavior under test is verified by another file in Test262:

test/built-ins/Math/prop-desc.js

That version is preferable because it follows the test suite's
convention for testing property descriptors and because it supports both
strict and non-strict mode.

* Remove duplicate test

The behavior under test is verified by two separate files:

test/language/statements/function/line-terminator-non-strict.js
test/language/statements/function/line-terminator-strict.js

These files differ only in their usage of the `noStrict`/`onlyStrict`
metadata. Because tests are intended to be interpreted in both modes by
default, these can be expressed with a single file that does not limit
the permissible modes.
2019-09-27 16:31:44 -04:00
Leo Balter 83d9f750c9
Merge pull request #2376 from bocoup/ud-coverage
Improve coverage
2019-09-27 16:30:13 -04:00
jugglinmike 479ea0ec0b Avoid false positive (#2375)
Prior to this patch, the modified test would pass if no exception was
produced. Use the `assert.throws` utility function to concisely express
the expectation more completely.
2019-09-27 16:25:07 -04:00
Mike Pennisi 9cd62ffbd7 Improve coverage: ctor props of the global object
Prior to this commit, the descriptors of the constructor properties of
the global object were verified inconsistently, many independent
assertions occured in the same file, and that file test was poorly
located.

Restructure the relevant tests to improve coverage, follow convention,
and promote discoverability.
2019-09-27 15:39:10 -04:00
Mike Pennisi 1f079a3525 Improve coverage: func props of the global object
Prior to this commit, the descriptors of the function properties of the
global object were verified inconsistently, many independent assertions
occured in the same file, and that file test was poorly located.

Restructure the relevant tests to improve coverage, follow convention,
and promote discoverability.
2019-09-27 15:39:10 -04:00
Mike Pennisi f8957be8a7 Improve coverage: value props of the global object
Prior to this commit, the enumerability of the value properties of the
global object were only verified in strict mode, the assertions occured
in the same file, and that file test was poorly located.

Restructure the relevant tests to improve coverage, follow convention,
and promote discoverability.
2019-09-27 15:39:10 -04:00
Mike Pennisi f5d60d4192 Improve coverage
The modified tests are equally valid in strict mode and outside of
strict mode. Remove the flag which limits their use to only one of these
two contexts. Rename tests using the legacy ES5-based naming scheme to
remove the pattern which designates strict mode.
2019-09-27 15:39:10 -04:00
Mike Pennisi 1e4e524251 Update tests to use APIs defined by included files
The `$DETACHBUFFER` function is the preferred mechanism for detaching
array buffers.

Likewise, `verifyNotWritable` is the preferred mechanism for asserting
lack of writability.
2019-09-25 13:59:24 -04:00
Mike Pennisi f26c2a11bd Remove unnecessary "includes" directives
The values defined by the referenced files are not used by these tests.
This makes their inclusion superfluous, which needlessly increases the
time to execute the tests and may confuse some readers.
2019-09-25 13:59:24 -04:00
Leo Balter 3bfb341203 Fixes after test feedback 2019-09-23 12:26:02 -04:00
Leo Balter 08844700fe Update tests for GC hook, apply async
- Fix incorrect tests for WeakRefs

Ref #2239
Fixes #2260
Fixes #2256
2019-09-23 12:26:02 -04:00
Leo Balter 7134634aa4 Revert "Remove tests based on the $262.gc hook"
This reverts commit d6d37f2f43.
2019-09-23 12:26:02 -04:00
Alexey Shvayka 17685735e1 Add "proto-from-ctor-realm" tests for async functions (#2342)
* Add AsyncFunction test

* Add AsyncGeneratorFunction test
2019-09-20 15:27:32 -03:00
Leo Balter 0fd3cf4d24
Some cleanup follow ups (#2351) 2019-09-18 14:15:53 -03:00
Ron Buckton 1056d8fde9 Add tests for regexp-match-indices (#2309)
* Add tests for regexp-match-indices

* Add tests for unicode matches based on presence of /u flag

* Added deepEqual helper, PR feedback
2019-09-18 13:39:12 -03:00
Alexey Shvayka 256f5f4b46 Improve Proxy/set call parameters coverage (#2347)
* Tweak front matter of basic test

* Simplify basic test

* Add test for proxy as prototype

* Add test for proxy as prototype and __proto__
2019-09-18 13:30:28 -03:00
Alexey Shvayka ff83fb2922 Improve "proto-from-ctor-realm" coverage for Array (#2340)
* Rename "Array/proto-from-ctor-realm.js" test

* Add single argument test

* Add two arguments test
2019-09-18 13:26:40 -03:00
Alexey Shvayka ef7fd2bc27 Add "proto-from-ctor-realm" tests for Intl constructors (#2334)
* Rename "Object/proto-from-ctor.js" test

* Add missing "Symbol" features

* Add Intl.Collator test

* Add Intl.DateTimeFormat test

* Add Intl.NumberFormat test

* Add Intl.PluralRules test
2019-09-11 17:22:21 -03:00
Alexey Shvayka 652cfc764a Add "proto-from-ctor-realm" tests for native errors (#2335)
* Add EvalError test

* Add RangeError test

* Add ReferenceError test

* Add SyntaxError test

* Add TypeError test

* Add URIError test
2019-09-11 17:19:58 -03:00
Leo Balter d6d37f2f43 Remove tests based on the $262.gc hook
Fixes #2239
Closes #2329
2019-09-05 19:38:03 +01:00
Leo Balter 5d84854f27
Avoid usage of Object.keys when asserting order of returned values (#2320)
Fixes #2226
2019-09-04 11:38:18 -03:00
Gus Caplan 841b32c6da fix TypedArray.prototype.sort test (#2326)
* fix TypedArray.prototype.sort test

* Update sorted-values.js

* Update sorted-values.js
2019-09-04 11:36:51 -03:00
Leo Balter 71e40aad50
Fix circular tests for JSON.stringify (#2315)
Ref #2168
2019-08-28 17:37:19 -03:00
Alexey Shvayka d0b5137c15 Improve JSON.stringify coverage (#2168)
* Rename & improve "length" test

* Use verifyProperty in "name" test

* Rename & improve property descriptor test

* Remove duplicated test

https://github.com/tc39/test262/blob/master/test/built-ins/Object/prototype/toString/proxy-array.js

* Rename proxy value test

* Rename & improve String object unwrapping test

* Rename & improve Number object unwrapping test

* Rename & improve Boolean object unwrapping test

* Rename & merge replacer returns undefined tests

* Rename & merge replacer function tests

* Rename replacer array revoked proxy test

* Add cross-realm replacer array revoked proxy test

* Add array proxy replacer test

* Add replacer array keys order test

* Add empty replacer array test

* Add non-finite numbers serialization test

* Add replacer array abrupt completion test

* Add replacer array with duplicates test

* Add replacer array ignores undefined test

* Add replacer array unwraps strings test

* Add replacer array unwraps numbers test

* Rename & merge circular object tests

* Add circular array test

* Rename & merge top-level primitives tests

* Rename string escape tests

* Rename BigInt tests

* Rename & improve function value test

* Add replacer function abrupt test

* Rename & merge wrong space type tests

* Rename float number space test

* Rename & improve Number object space test

* Rename & improve String object space test

* Rename basic numeric space test

* Rename string space slice test

* Add replacer array numbers test

* Add toJSON abrupt completions test

* Add not callable toJSON test

* Add toJSON call arguments test

* Add replacer array wrong types test

* Rename & improve string space test

* Rename & improve replacer wrong type test

* Add built-in object requirements test

* Add basic toJSON result test

* Add abrupt array value test

* Add abrupt object value test

* Rename & merge space number clamp tests

* Add replacer function wrapper test

* Add symbol value test

* Add negative zero value test

* Add replacer function & toJSON test

* Add circular object from toJSON test

* Add circular array from toJSON test

* Add circular object from replacer test

* Add circular array from replacer test

* Add replacer function arguments test

* Split & improve proxy value test

* Split & improve revoked proxy value test
2019-08-28 17:34:59 -03:00
Leo Balter 1c2bd105fb
Remove shared-nonint-views.js files (#2314)
Ref #2103
2019-08-28 16:23:07 -03:00
André Bargull e48bf299a6 Ensure Atomics functions validate the TypedArray type before coercing the other arguments (#2103) 2019-08-28 16:19:22 -03:00
Caio Lima fbbab61b4a Adding cases to check if SyntaxError is thrown if AllPrivateIdentifiersValid returns false. (#2301) 2019-08-28 14:58:43 -03:00
Alexey Shvayka 8042c57d9b Add Promise#finally invoked on thenable test (#2312)
* Rename proxy context test

* Add thenable context test
2019-08-28 12:42:24 -03:00
André Bargull 59a1a016b7 Assign "name" property to all anonymous functions (#2299)
Implements the changes from <https://github.com/tc39/ecma262/pull/1490>.
2019-08-15 10:58:40 -04:00
Kubilay Kahveci 9b29709797 Add tests for .toString() of private methods (#2268) 2019-08-05 16:47:19 -04:00
Leo Balter ff9763729d Remove duplicated es[56]id if esid is present 2019-08-05 10:54:37 -04:00
Gus Caplan 2fb39cb4e9 add missing feature (#2250) 2019-07-22 12:46:59 -04:00
André Bargull d8c20b423b Call $DONE function exactly once per test
Also make a note in CONTRIBUTING.md that `$DONE` shouldn't be called multiple times.
2019-07-22 02:12:24 -07:00
Caio Lima 1dc78879d4 Add edge tests to verify BigInt to Number conversion when BigInt can't directly be represented by a Number. 2019-07-19 13:53:01 -04:00
Leo Balter d02fe7db38
Add coverage for non object values of the Properties arg of Object.create (#2238)
Fixes #2237
2019-07-15 16:17:03 -04:00
Leo Balter 6cb0a531af Fix typos 2019-07-11 11:17:30 -04:00
Leo Balter b45bf4b6fa fixup! Some edgy cases for weakrefs/finalizationgroups 2019-07-11 11:17:30 -04:00
Leo Balter 3c293f0e6c Some edgy cases for weakrefs/finalizationgroups 2019-07-11 11:17:30 -04:00
Alexey Shvayka 19b5a5a635 Improve Object#toString coverage (#2202)
* Move proxies with non-string toStringTag to separate file

* Add coverage for async proxy functions

* Add coverage for built-ins with non-string toStringTag

* Move async proxy function tests to new file
2019-07-10 14:00:04 -04:00
Leo Balter 1ef21eb50b fixup! Cleanup some tests for FinalizationGroup 2019-07-02 10:04:04 -04:00
Leo Balter 6242304cd0 Cleanup some tests for FinalizationGroup 2019-07-02 10:04:04 -04:00
Timothy Gu 9dfb9e14e0 Fix WeakMap/WeakSet typo
The test tries to test against WeakSet, but used WeakMap instead.
2019-07-02 09:37:46 -04:00
Alexey Shvayka d7c95efe66 Improve "name" tests of Promise built-in functions (#2179) 2019-06-26 15:03:14 -04:00
Leo Balter 7c7d3f756c Fix tests for FinalizationGroup 2019-06-26 13:49:08 -04:00
Leo Balter f7f07a9010 Add a test for FinalizationGroupCleanupIteratorPrototype 2019-06-21 20:00:35 -04:00
Gus Caplan 61ccff550e Fix invoke-resolve-get-error-close tests (#2210) 2019-06-21 14:26:57 -04:00
Gus Caplan 7a1da555a5 add WeakRef feature to WeakRef/constructor test. (#2209) 2019-06-21 13:41:28 -04:00
Leo Balter f7591eb01b fixup 2019-06-21 11:50:22 -04:00
Leo Balter 73f80aea4d Apply review feedback 2019-06-21 11:50:22 -04:00
Leo Balter ca11ac4a43 Add tests for cleanupSome 2019-06-21 11:50:22 -04:00
Leo Balter dcac20d8ed Add tests for FG register/unregister 2019-06-21 11:50:22 -04:00
Leo Balter ab38ce4e84 Add more tests, include deref 2019-06-21 11:50:22 -04:00
Leo Balter c2c81409b2 fixup! Normative optional WeakRef#constructor 2019-06-21 11:50:22 -04:00
Leo Balter 5fabef83dc Normative optional WeakRef#constructor 2019-06-21 11:50:22 -04:00
Leo Balter 16e9389b01 fix typo 2019-06-21 11:50:22 -04:00
Leo Balter 62477ea0c9 More tests 2019-06-21 11:50:22 -04:00
Leo Balter e3d87d6690 No ctor for WeakRef.prototype 2019-06-21 11:50:22 -04:00
Leo Balter 969d4e68b4 Basic tests for weakref and finalizationgroup 2019-06-21 11:50:22 -04:00
Alexey Shvayka df1a1c75b7 Remove trailing spaces from YAML blocks (#2201) 2019-06-19 16:39:21 -04:00
Gus Caplan ceaebf7058 fix built-ins/Object/subclass-object-arg (#2200) 2019-06-19 15:48:53 -04:00
Alexey Shvayka 395401cba0 Slightly improve JSON.parse coverage (#2196) 2019-06-12 15:29:04 -04:00
Alexey Shvayka 8984ea8080 Add "proxy-missing-checks" feature tag (#2195) 2019-06-12 15:00:18 -04:00
Alexey Shvayka 74e0cae407 Add Date.prototype.toJSON coverage (#2190) 2019-06-12 14:59:54 -04:00
Alexey Shvayka 430ee14d90 Add Object subclass test (#2177) 2019-06-12 14:11:16 -04:00
Aleksey Shvayka 1265a60017 Improve Proxy/construct coverage (#2159) 2019-05-29 15:49:41 -04:00
Aleksey Shvayka 2ce56a5f64 Verify that symbols are not callable (#2180) 2019-05-27 10:34:05 -04:00
Aleksey Shvayka 6f4c0d96f7 Improve GetFunctionRealm coverage (#2155)
* Fix Function.prototype.bind test

* Simplify Proxy test

* Info tweaks

* Add Function.prototype.bind recursive test

* Add Proxy recursive test
2019-05-22 18:11:49 -04:00
Aleksey Shvayka e4fed70c9b Fix description of Promise constructor test (#2174) 2019-05-22 17:57:45 -04:00
Aleksey Shvayka 4838fc3167 Improve String#toString and String#valueOf coverage (#2160)
* toString: rename "length" test

* toString: use verifyProperty in "name" test

* toString: rename & merge non-generic tests

* toString: add cross-realm non-generic test

* toString: rename happy path tests

* valueOf: use verifyProperty in "length" test

* valueOf: use verifyProperty in "name" test

* valueOf: rename & merge non-generic tests

* valueOf: add cross-realm non-generic test

* valueOf: rename happy path tests

* toString: add indirect invocation tests

* valueOf: add indirect invocation tests
2019-05-22 17:47:15 -04:00
Aleksey Shvayka ee960aefb5 Improve Promise constructor coverage (#2158)
* Add constructor descriptor test

* Rename & improve non-callable executor test

* Rename & simplify executor call context tests

* Remove duplicate reject via abrupt test

* Deduplicate undefined NewTarget tests

* Add basic constructor test

* Add abrupt prototype getting tests
2019-05-22 17:33:09 -04:00
Mathias Bynens a9abd418cc Update RegExp property escape tests per Unicode v12.1.0 (#2161)
Ref. https://github.com/tc39/ecma262/issues/1530.
2019-05-22 17:08:14 -04:00
Mathias Bynens 1c30aef38d Move TypedArray#sort stability test to correct directory (#2169)
Follow-up to #2062.
2019-05-20 11:35:59 -04:00
Leo Balter 0c67d0f1b7
Merge pull request #2163 from shvaikalesh/function-apply
Improve Function#apply coverage
2019-05-15 14:43:16 -04:00
Aleksey Shvayka 5a725fe122 Expect TypeError from correct realm 2019-05-15 21:29:11 +03:00
Aleksey Shvayka 993601089b Add Array property descriptor test (#2164) 2019-05-15 12:33:52 -04:00
Aleksey Shvayka b6cc89c61d Add abrupt completion tests 2019-05-15 03:28:33 +03:00
Aleksey Shvayka 8551382805 Add cross-realm "this not callable" test 2019-05-15 01:37:52 +03:00
Aleksey Shvayka 385848d449 Rename & merge "this not callable" tests 2019-05-15 01:36:22 +03:00
Aleksey Shvayka 9c93e05d90 Unify "length" tests 2019-05-15 00:01:29 +03:00
Aleksey Shvayka 6943b289fc Add cross-realm "argArray not object" test 2019-05-14 23:07:27 +03:00
Aleksey Shvayka 171b3ef083 Rename & merge "argArray not object" tests 2019-05-14 23:07:23 +03:00
Aleksey Shvayka 8c1819484e Improve Proxy/apply coverage (#2156) 2019-05-10 15:57:40 -04:00
Aleksey Shvayka 4d33170d0e Add tests for Proxy semantics change (#2143)
* Add not extensible target test for `deleteProperty`

* Add non-writable descriptor test for `defineProperty`

* Add non-writable descriptor test for `getOwnPropertyDescriptor`
2019-05-03 10:21:48 -04:00
Leo Balter 3b2ad0b5d0 Fix tests for new resolve lookup in Promise.allSettled 2019-04-24 17:28:01 -04:00
Leo Balter 24d1b6d59c Fix tests for new resolve lookup 2019-04-24 17:28:01 -04:00
Leo Balter b646cf6365 Add tests for Promise.all|race resolve lookup
Ref tc39/ecma262#1506
2019-04-24 17:28:01 -04:00
Leo Balter f4e60b8f20
Add a case for non extensible targets of proxies GetPrototypeOf (#2122) 2019-04-24 11:49:43 -04:00
Leo Balter 7e7b9e103d
Port tests from Promise.all to Promise.allSettled (#2124) 2019-04-17 14:17:54 -04:00
ta7sudan 4bacf25f0d Add test that a Proxy instance with getPrototypeOf trap use instanceof operator on a function (#2107) 2019-04-03 14:14:51 -04:00
Richard Gibson d62318319f Add tests for string representations of Date objects with negative years (#2114)
* Add tests for string representations of Date objects with negative years

Ref https://github.com/tc39/ecma262/issues/1035
Ref https://github.com/tc39/ecma262/issues/1407
2019-04-02 14:02:35 -04:00
Mathias Bynens 9339f8a5ce Update RegExp Unicode property escape tests per Unicode 12 (#2091)
1cfedb79bb
https://github.com/tc39/ecma262/issues/1467
https://github.com/tc39/ecma262/pull/1468
2019-03-12 04:47:27 -04:00
Leo Balter 262216ed5b Remove other leading empty lines in info blocks 2019-02-25 16:14:22 -05:00
Robin Templeton efa414ae00 Add tests for calling BigInt functions with fewer arguments than required (#2075) 2019-02-19 13:25:25 -05:00
Andy Wingo 298ad6907b Add new test for receiver of toJSON on bigint values (#2079)
Spec link:

  https://tc39.github.io/proposal-bigint/#sec-serializejsonproperty

Thanks to André Bargull for the test:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1528784
2019-02-19 13:23:41 -05:00
Mike Pennisi cc09757478 Test forward slash in RegularExpressionClassChar 2019-02-14 15:21:42 -05:00
Jake Champion b4cf5de2e8 Fixed typo, `now` should be `no` (#2061) 2019-02-04 11:59:15 -07:00
Mathias Bynens 9280e1f872 Add tests for %TypedArray%.prototype.sort stability (#2062)
https://github.com/tc39/ecma262/pull/1433
2019-02-04 11:58:05 -07:00
Michael Ficarra 7238135940 add flat/flatMap to Array unscopables 2019-01-30 10:02:35 -05:00
Timothy Gu 5d39cad767 Add tests for roundTiesToEven rounding in Math.fround (#2021) 2019-01-28 11:33:14 -05:00
Peter Wong 08d827565b Increase coverage for %TypedArray%.prototype.map with species constructor (#2019) 2019-01-07 12:34:35 -02: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 e403eea331 Fix false positives 2018-12-21 10:50:23 -05:00
Leo Balter 7375dcb080 Remove duplicates 2018-12-21 10:50:23 -05:00
Leo Balter 258da539bc refactor coverage for flatMap 2018-12-20 13:08:21 -05:00
Leo Balter 46c557247e Fix more false positives throwing TypeError in functions 2018-12-17 16:45:56 -05:00
Peter Marshall b3efcd2f3f Consistently use spaces in features lists (#2000) 2018-12-17 17:00:04 -02:00
⭐caitp⭐ 16ef6ad10d Get rid of the leading empty line in info block (#1993)
This makes v8's _monkeyYaml happy --- without it, the info block never ends, and we fail to parse the `features` key.

An explicit indentation marker isn't used because monkeyYaml doesn't supported it, and adding it might slightly slow things down.

Using PyYAML instead was considered, but after trying it, I don't think it looks viable. [simple test cases](https://gist.github.com/caitp/4a59a67f671907c11051a1b7bd5fdaae)
2018-12-15 05:40:37 -05:00
Peter Wong c36bdcfeb3 Update tests for String.prototype.matchAll (#1990)
- Changes associated with spec changes (tc39/proposal-string-matchall#41)
- Update spec comments
- Added test verifying error thrown when `regexp[Symbol.matchAll]` is not callable
- Added test verifying `ToString` is called on `receiver`
2018-12-10 10:53:01 -05:00
Mathias Bynens b2597d060d Add tests for Array.prototype.sort stability (#1977)
https://github.com/tc39/ecma262/pull/1340
2018-12-06 11:56:58 -05:00
André Bargull b62dae4fff Fix various bugs in test cases (#1988) 2018-12-05 15:48:28 -05:00
Rick Waldron 86deb370e7 Eliminate false positives: BigInt64Array, BigUint64Array 2018-11-30 11:37:28 -05:00
Rick Waldron 6e836cea56 Eliminate false positives: BigInt 2018-11-30 11:34:13 -05:00
Rick Waldron d98f3f4d63 Eliminate false positives: String.prototype.trimEnd, String.prototype.trimStart 2018-11-30 09:37:16 -05:00
Rick Waldron 6d2288fe79 Eliminate false positives: Promise.prototype.finally 2018-11-30 09:34:25 -05:00
Rick Waldron 628faa5e06 Eliminate false positives: Object.fromEntries 2018-11-30 09:31:54 -05:00
Rick Waldron 2e18327af2 Eliminate false positives: Array.prototype.flat, Array.prototype.flatMap 2018-11-30 09:27:07 -05:00
Gus Caplan 1df8797a6b add WeakSet to feature list where its used in Set tests 2018-11-28 10:26:57 -05:00
Gus Caplan 2aacb28bb9 Fix some proxy tests (#1966)
- `Proxy/getOwnPropertyDescriptor/call-parameters.js`
  Fixes a call to `Object.getOwnPropertyDescriptor` without the prop
  param. Not actually a huge problem, as the test wasn't depending on
  it.

- `Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined`
  This test asserted that `function() {}` should throw with the
  following spec step, which is incorrect, as functions are typed as
  `Object` in the spec.
  """
  1. If Type(trapResultObj) is neither Object nor Undefined, throw a
    TypeError exception.
  """
2018-11-26 13:41:13 -05:00
Rick Waldron e91645c812 Atomics: (bigint) initialize BigInt64Array before calling $262.agent.start(string-of-program-code) 2018-11-20 15:57:39 -05:00
Rick Waldron 8793bf5d57 Atomics: fix running index in notify-with-no-matching-agents-waiting.js
Migrating all tests to this API is necessary to prevent tests from hanging indefinitely when a SAB is sent to a worker but the code in the worker attempts to create a non-sharable TypedArray (something that is not Int32Array or BigInt64Array). When that scenario occurs, an exception is thrown and the agent worker can no longer communicate with any other threads that control the SAB. If the main thread happens to be spinning in the $262.agent.waitUntil() while loop, it will never meet its termination condition and the test will hang indefinitely.

Because we've defined $262.agent.broadcast(SAB) in https://github.com/tc39/test262/blob/master/INTERPRETING.md, there are host implementations that assume compatibility, which must be maintained.
2018-11-20 15:18:14 -05:00
Rick Waldron e4883091b9 Introduce $262.agent.safeBroadcast and migrate Atomics tests.
Migrating all tests to this API is necessary to prevent tests from hanging indefinitely when a SAB is sent to a worker but the code in the worker attempts to create a non-sharable TypedArray (something that is not Int32Array or BigInt64Array). When that scenario occurs, an exception is thrown and the agent worker can no longer communicate with any other threads that control the SAB. If the main thread happens to be spinning in the $262.agent.waitUntil() while loop, it will never meet its termination condition and the test will hang indefinitely.

Because we've defined $262.agent.broadcast(SAB) in https://github.com/tc39/test262/blob/master/INTERPRETING.md, there are host implementations that assume compatibility, which must be maintained.
2018-11-20 15:17:47 -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 8ed9947df1 add async-iteration flag (#1942) 2018-11-08 15:32:40 -05:00
Rick Waldron 87202773fd
Merge pull request #1938 from adrianheine/promise
Add missing mandatory Promise.{all,race} argument
2018-11-08 09:32:25 -05:00
Rick Waldron b1e15cd326
Merge pull request #1923 from bakkot/less-regex-eval
Reduce uses of `eval` for regex literal syntax
2018-11-08 09:18:48 -05:00
Adrian Heine fc6de76a0d Add missing mandatory Promise.{all,race} argument 2018-11-08 09:37:56 +01:00
Adrian Heine né Lang 0475c127c4 Fix some generators feature flags (#1933) 2018-11-07 17:51:23 -05:00
Kevin Gibbons 0160cab518 fix missing/duplicate tests 2018-11-07 13:52:44 -08:00
Mathias Bynens e558b29b69
Optimize character class escape tests
Previously, these tests simply compared against an equivalent regular expression pattern by generating a large string containing either all code points up to U+FFFF or U+10FFFF, depending on the `u` flag, and then performing:

    str.replace(re, '') === str.replace(otherRe, '');

These two `String#replace` calls can be optimized into a single `RegExp#test` call by following the pattern used in the property escapes tests at https://github.com/mathiasbynens/unicode-property-escapes-tests.
2018-11-06 16:14:14 -08:00
Mathias Bynens 01550ab13a
Sync with https://github.com/bocoup/test262-regexp-generator/pull/1 2018-11-06 15:24:07 -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
Richard Gibson 5b3d429e28 Move cross-realm tests into their own files 2018-11-02 14:39:23 -04:00
Richard Gibson 6da621f161 Assert error when invoking any %RegExpPrototype%-aware getter on cross-realm RegExp.prototype 2018-11-02 14:39:23 -04:00
Richard Gibson 9e0410814a Test cross-realm use of RegExp source getter in both directions 2018-11-02 14:39:23 -04:00
Richard Gibson 823af01575 Assert error when invoking RegExp source getter on cross-realm RegExp.prototype
RegExp.prototype is not a RegExp, and the algorithm only special-cases
(same-realm) %RegExpPrototype%.
2018-11-02 14:39:23 -04: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
André Bargull faed4fb089 Fix various test issues 2018-10-17 07:45:33 -07:00
Richard Gibson e064fcd7ce Remove redundant JSON test 2018-10-03 11:06:32 -04:00
Richard Gibson 58e308753c Fix grammar in JSON.stringify tests 2018-10-03 11:06:32 -04:00
Richard Gibson d961fcc905 Add feature for well-formed-stringify tests 2018-10-03 11:06:32 -04:00
Richard Gibson ce967f7a86 Add tests for proposal-well-formed-stringify
* unpaired surrogate escape sequences
2018-10-03 11:06:32 -04:00
Richard Gibson 783fc5d8bb Remove redundant test 2018-10-03 11:06:32 -04:00
Richard Gibson d6e83453b2 Simplify and improve control character escaping tests 2018-10-03 11:06:32 -04:00
Richard Gibson 61fdc701fa Remove duplicate test 2018-10-03 11:06:32 -04:00
Richard Gibson 950d58a7ca Improve test description grammar 2018-10-03 11:06:32 -04:00
Leo Balter d544eacedf
assert calls order for Symbol.match on matchAll usage (#1795)
Fix #1794
2018-09-26 11:37:19 -04:00
André Bargull 3febd4c536 Update matchAll tests to reflect latest spec proposal 2018-09-26 10:38:35 -04:00
Kevin Gibbons 89ec038cf2 remove some trailing commas in calls 2018-09-21 10:04:33 -04:00
Kevin Gibbons 92a96f068e Remove bigint feature flag for built-ins/Atomics/wait/was-woken-before-timeout.js 2018-09-19 10:58:34 -04:00
Kevin Gibbons 05cbb5f8ae Fix feature flag in TypedArrayConstructors/Float32Array/length.js 2018-09-19 10:58:34 -04:00
Leo Balter 3166523832 Add basic coverage for Symbol.asyncIterator 2018-09-17 10:50:33 -04:00
Andrew McCreight c278f59416
Fix typo in test message 2018-09-14 12:05:16 -07:00
Leo Balter 93635ca3b2 Assert extensibility of dataview objects 2018-09-10 11:13:11 -04:00
Ashley Hauck 835c85c26e TypedArray.prototype.sort: check result of compareFn is immediately converted ToNumber (#1694) 2018-08-27 14:27:27 -04:00
Leo Balter 1307fa8f44 some quick fixes for Array.prototype.{flat,flatMap} tests 2018-08-20 11:16:54 -04:00
Leo Balter d263e2ccc9
Merge pull request #1686 from rhuanjl/proxyFlat
Array.prototype.{flat,flatMap} property access count
2018-08-20 10:44:16 -04:00
rhuanjl 1bffb14efb Array.prototype.flat and Array.prototype.flatMap property access count 2018-08-20 06:31:04 +01:00
André Bargull d7d154b3bc Remove requirement that ToNumber(value) completes in less than $262.agent.MAX_TIME_EPSILON
$262.agent.MAX_TIME_EPSILON was intended to be used for callers like `Atomics.wait(typedArray, indexNumber, valueNumber, timeoutNumber)` where all parameters with the `Number` suffix denote values which are already Number values. It should not be used for `Atomics.wait(typedArray, indexObject, valueObject, timeoutObject)` where all parameters with the `Object` suffix denote values which are Object values, because in that case we'd require that `ToNumber(objectValue)` (potentially invoked multiple times) completes in less than 100 milliseconds (the default value for MAX_TIME_EPSILON).

Also removes $262.agent.MAX_TIME_EPSILON because it is now no longer used.
2018-08-19 10:29:29 -04:00
Leo Balter ab436c4651
Merge pull request #1677 from tc39/ofe-use-verifyproperty
Object.fromEntries: use verifyProperty; add specification details
2018-08-17 18:06:19 -04:00
André Bargull 0aa1f70c14 Fix typo: nofity -> notify 2018-08-17 07:48:44 -07:00
André Bargull 8879820a8f Make RegExp/CharacterClassEscapes tests faster across all engines 2018-08-17 07:48:42 -07:00
Rick Waldron ff475fce11 Object.fromEntries: use verifyProperty; add specification details 2018-08-13 15:15:02 -04:00
Rick Waldron 55ffeaf5cf Object.fromEntries: fix file names 2018-08-13 12:24:57 -04:00
Kevin Gibbons 60b9467630 Two more simple tests 2018-08-13 10:25:09 -04:00
Kevin Gibbons 7f694d4718 Object.fromEntries: add basic tests 2018-08-13 10:25:09 -04:00
Jordan Harband 765de9136d
`global`: update property name 2018-07-25 17:11:53 -07:00
Rick Waldron 64f219b666 Features: run feature detector to verify newly added feature flags 2018-07-25 12:16:49 -04:00
Rick Waldron c6d7d66dfa Merge branch 'feature-new.target' of https://github.com/IgnoredAmbience/test262 into IgnoredAmbience-feature-new.target
* 'feature-new.target' of https://github.com/IgnoredAmbience/test262:
  Add feature flags for `new.target`
2018-07-25 11:54:58 -04:00
Thomas Wood 2d4ac25fa0 Add feature flags for `new.target`
Additionally removed the `arrow-function` feature for
test/language/eval-code/direct/new.target-fn.js as it is not testing
arrow-functions, but they are mentioned in the preamble.
2018-07-24 20:31:35 +01:00
Leo Balter 6335c39ade fixes after rebase 2018-07-24 15:03:54 -04:00
Leo Balter 1452a22a02 more s/wake/notify 2018-07-24 15:03:54 -04:00
Leo Balter d8bbc281dd First renaming for wake to notify in the wait folder 2018-07-24 15:03:54 -04:00
Leo Balter 4911c6e77a Last renamings in the Atomics/wake folder 2018-07-24 15:03:54 -04:00
Leo Balter 6533378823 Atomics.wake to Atomics.notify 2018-07-24 15:03:54 -04:00
Leo Balter 003388e36e Replace esid 2018-07-24 15:03:54 -04:00
Leo Balter cdfc67cd9d Move Atomics/wake to Atomics/notify 2018-07-24 15:03:54 -04:00
Rick Waldron 2d27462e70 Features: Proxy, Reflect (See pull/1643) (#1646)
Follow up to https://github.com/tc39/test262/pull/1643
2018-07-20 18:42:39 -04:00
Thomas Wood d817076ddb Make Proxy/ownKeys tests ES5-parsable. (#1644)
All other Proxy tests use the syntax `attr: function() {...}` for
defining traps, ownKeys was unique in using the shorthand syntax. Change
to longhand syntax for back-compat for partial implementations.
2018-07-20 18:40:10 -04:00
Thomas Wood 4f3cbc756d Add a missing Reflect feature flag.
Proxy/deleteProperty/boolean-trap-result-boolean-true.js was missing a
feature flag for the Reflect library.
2018-07-20 15:04:21 -04:00
Ivan Vyshnevskyi 56e0ef70a5 Fix the ranges of non-HexDigits in decodeURI and decodeURIComponent tests 2018-07-20 14:59:31 -04:00
Leo Balter 0fde488bb4
Update tests for CharacterClassEscapes in RegExps (#1611) 2018-07-09 12:30:33 -04:00
Mathias Bynens c7ac073e73 Update tests for RegExp Unicode property escapes (#1633)
62cbe2f1cb
2018-07-09 12:26:53 -04:00
André Bargull 8bc4e38a48 Make Atomics tests more resilient against intermittent failures (#1617)
Also fixes multiple issues and bugs in various Atomics tests.

CONTRIBUTING.md and INTERPRETING.md:
- Add missing description for `CanBlockIsFalse` flag and also introduce `CanBlockIsTrue` flag which is needed for some tests (see below).

harness/atomicsHelper.js:
- Updated `$262.agent.waitUntil` to clarify it can also be called with BigInt64Array objects.
- Added `$262.agent.timeouts` constants to unify the various, inconsistently used timeouts in the Atomics tests. Each timeout constant has a brief description and a usage example to clarify when it should or should not be used. The default values were tested in SpiderMonkey (locally and CI) under various system load levels and should hopefully also be valid for other engines. 
- Added `$262.agent.tryYield` to yield control from the main thread. The default implementation simply calls `$262.agent.sleep`, but test262 hosts could theoretically provide a different implementation.
- Added `$262.agent.trySleep` to replace direct calls to `$262.agent.sleep` from the main thread. Motivation for this function: Some test262 hosts (like browsers) may be able to pause and sleep on the main thread, so they could provide their implementation for `trySleep` which performs a busy-wait or something do nothing.

harness/testAtomics.js:
- Replace `let`, `arrow-functions`, and `for-of` loops to avoid creating extremely long `features` lists in tests using this helper. Removed `Map`, `WeakMap`, `Set`, and `WeakSet` (these weren't even listed in features.yaml) for the same reason and added the missing `Symbol` entry for this file to features.yaml.
- Updated all files including "harness/testAtomics.js" to match the new feature requirements.


test/built-ins/Atomics/store/good-views.js and test/built-ins/Atomics/store/bigint/good-views.js:
- Replace `arrow-functions` and `for-of` loops with ES5 alternatives.


test/built-ins/Atomics/wait/bigint/*.js and test/built-ins/Atomics/wake/bigint/*.js
- Some tests were using `BigInt64Array.BYTES_PER_ELEMENT * 8` for the SharedArrayBuffer length, but their non-BigInt counterparts are using `Int32Array.BYTES_PER_ELEMENT * 4`. For consistency and to make it easier to compare the BigInt against the non-BigInt versions, I've changed it to `BigInt64Array.BYTES_PER_ELEMENT * 4`.
- Also aligned formatting and statement placement when they differed between the non-BigInt and the BigInt version of a test file. (I've diffed some of the non-BigInt and BigInt files against each other and different formatting was a nuisance.)

Test files using `$262.agent.monotonicNow()`:
- Moved `$262.agent.report()` calls outside of the block of code measured `$262.agent.monotonicNow()` to avoid measuring how long it takes to execute `$262.agent.report()`. 
- Without this change some tests failed intermittently in certain test configurations in SpiderMonkey. For example with the flags `--ion-eager -- ion-offthread-compile=off` which forces early Ion compilation on the main thread. The `$262.agent.report()` implementation in the SpiderMonkey test262 host embedding uses a for-loop which was forcefully Ion compiled under these settings. And because Ion compilation can take some time, the test case ran longer than `$262.agent.MAX_TIME_EPSILON` which lead to intermittent failures.

Test files using `CanBlockIsFalse` / `CanBlockIsTrue`:
- Some of these tests actually expected that the main thread can wait and [[CanBlock]] is `true` for the agent record executing the test. Therefore I've added a new `CanBlockIsTrue` flag and replaced the flags where needed.

test/built-ins/Atomics/wait/**/*.js and test/built-ins/Atomics/wake/**/*.js:
- Use an atomic counter `RUNNING` in more tests to have better control when a worker agent was actually started.
- Replace the various `$262.agent.sleep(/* Sleep X ms to ensure worker actually sleeps */)` calls with the new `$262.agent.tryYield()` function. This `X` was sometimes as low as 10 milliseconds, which is definitely too short for CI systems under heavy load (observed by intermittent CI failures for SpiderMonkey) and sometimes as high as 500 milliseconds, which is probably much longer than needed even when the system is under heavy load. 
- Removed duplicate strings in assertion messages, presumably from copy-pasting the messages between different files.
- Removed extra empty lines at the end of multiple files.

test/built-ins/Atomics/wake/bad-range.js, test/built-ins/Atomics/wake/bigint/bad-range.js, and test/built-ins/Atomics/wait/bigint/non-bigint64-typedarray-throws.js:
- Removed unnecessary `features` and `includes` from this file.

test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js and test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js:
- The test was actually broken and didn't test what it said it does. This probably explains #1530.
- The test wants to ensure the waiterlist is implemented as a FIFO structure. This requires that the waiting agents all wait on the same index position, because the waiterlists are defined by each index. But if the agents wait on different indices, each agent is inserted into a different FIFO structure and therefore we can't observe any FIFO ordering between the agents when they're woken up.
- All this requires a bit of synchronization between the main agent and the waiting agent, I hope the added comments help to review these changes.

test/built-ins/Atomics/wait/good-views.js:
- The agent sends multiple reports to the main agent, but only the first one was read.
- This error was introduced during previous refactorings. I've changed it to back to use a while-loop as used in the first version of this file.

test/built-ins/Atomics/wait/no-spurious-wakeup-no-operation.js:
- Only the BigInt version of this test was present, copied it so we also get code coverage for the non-BigInt case.

test/built-ins/Atomics/wait/waiterlist-block-indexedposition-wake.js:
- Added extra while loops to avoid intermittent failures when the agent worker haven't started to wait.
- This should help to avoid some of the intermittent failures we saw for SpiderMonkey.

test/built-ins/Atomics/wake/wake-all-on-loc.js and test/built-ins/Atomics/wake/bigint/wake-all-on-loc.js:
- This test was also no longer after previous refactoring sessions.
- The "B" agent only waited for 10 milliseconds, which made it likely that it already timed out before the main agent was able to call `Atomics.wake`, which in turn rendered the test useless, because the test case wants to ensure that `Atomics.wake` cannot wake "B". But if "B" was already timed out, it can trivially not be woken by `Atomics.wake`.
- Added some safety measure to catch the case when "B" timed out before `Atomics.wake` was called and made it a test error if that happens.

test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js, test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js, and test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js:
- Changed the `$262.agent.start()` calls to use a for-loop to avoid code duplication.
- (Forgot to undo the code formatting around `assert.sameValue`, still need to change it back.)
- Also more while-loops around `Atomics.wake`.
- These changes should fix #1529 and #1566.

test/built-ins/Atomics/wake/wake-all.js:
- Removed "B" worker agent.
- Without this removal the test case would be exactly equal to test/built-ins/Atomics/wake/wake-all-on-loc.js.

test/built-ins/Atomics/wake/wake-in-order-one-time.js:
- Add for-loops to avoid code duplication and make the test more readable.
- Make the `Atomics.wake` assertion messages unique by adding the current loop counter.
- Add `$262.agent.tryYield()` to give the worker agents enough time to actually start waiting.

test/built-ins/Atomics/wake/wake-in-order.js:
- Removed the outer loop `attempt < 10` because it uses `$262.agent` in a way currently not required to work. And which actually also doesn't work in SpiderMonkey's implementation of `$262.agent`.
- According to INTERPRETING.md `$262.agent.broadcast()` broadcasts its message to all agents ever started by `$262.agent.start()` and then blocks until all agents received the broadcast. It is not required that the agents started by the first `$262.agent.broadcast()` call will all be disabled/destroyed/whatever when the second `$262.agent.broadcast()` call occurs, which then means the second `$262.agent.broadcast()` call still tries to reach the agents started in the first loop iteration, but these may no longer accept broadcasts and therefore won't acknowledge they've received the broadcast. Which then means the second `$262.agent.broadcast()` call waits forever.
2018-07-03 12:34:54 -04:00
André Bargull 06c2f01901 Fix multiple test bugs and remove incomplete or no longer valid tests (#1616) 2018-06-29 18:52:53 -04:00
Leo Balter e1d1c68b0e
fix typo for Atomics.wait test, not wake (#1613) 2018-06-28 16:28:03 -04:00
Rick Waldron e164657a2b Atomics: fixes to bigint variants; updated assertion messages 2018-06-27 12:58:02 -04:00
Rick Waldron c29ae8effb Atomics: refactor atomicsHelper.js to extend $262.agent.* 2018-06-27 11:13:23 -04:00
Rick Waldron a1ff358a06 Atomics: fix invalid index; print error 2018-06-27 10:31:13 -04:00
Rick Waldron 64be6186be Atomics: fix Atomics.xor for BigInt64Array and BigUint64Array 2018-06-26 15:34:55 -04:00
Rick Waldron feab96e601 Atomics: ensure all SharedArrayBuffer sizes are uniform (r3) 2018-06-26 15:05:58 -04:00
Rick Waldron 9bf48e619d Atomics: fix typo "throwes" => "throws" 2018-06-26 14:51:45 -04:00
Rick Waldron 5c5dd5b286 Atomics: ensure all ArrayBuffer & SharedArrayBuffer sizes are uniform 2018-06-26 14:40:00 -04:00
Rick Waldron a93262428f Atomics: improvements to wake-*.js tests 2018-06-26 13:39:09 -04:00
Rick Waldron 236473769a Atomics: reduce startup time allowance 2018-06-25 17:02:58 -04:00
Rick Waldron 73be21272d Atomics: wake/wake-in-order.js, capture waiterlist order for wake comparison 2018-06-25 17:02:40 -04:00
Rick Waldron fc4a6f12cb Atomics: ensure all SharedArrayBuffer sizes are uniform 2018-06-25 15:17:45 -04:00
Rick Waldron 7ec0cdba6c Atomics: more fixes for review 2018-06-25 14:54:44 -04:00
Rick Waldron 84f448f060 Atomics: fix buffer sizes 2018-06-22 16:35:15 -04:00
Rick Waldron 5ebd632d8f Atomics: features fixes, harness features, etc. 2018-06-22 15:14:12 -04:00
Rick Waldron c5527b6d16 Atomics: Atomics.wake cleanup pass 2018-06-22 15:14:12 -04:00
Rick Waldron 695e1babd5 Atomics: remove non-sense test file 2018-06-22 15:14:11 -04:00
Rick Waldron 7f3a1c1be9 Atomics: moves getReport and waitUntil into atomicsHelper.js; broad updates to all Atomics.wait tests 2018-06-22 15:14:11 -04:00
Rick Waldron daa9af846d Atomics: wait/bigint cleanup 2018-06-22 15:14:11 -04:00
Rick Waldron ab72a55748 Atomics: spurious wakeup tests 2018-06-22 15:14:11 -04:00
Rick Waldron 22d3877a2a Atomics: further nit picking 2018-06-22 15:14:11 -04:00
Rick Waldron 7389389071 Atomics: use regular functions 2018-06-22 15:14:11 -04:00
Rick Waldron a19232ca4c Atomics: house keeping. 2018-06-22 15:14:11 -04:00
Rick Waldron 89fda0dbd5 Atomics: spurious wakeup tests for all operations that alter value at index 2018-06-22 15:14:11 -04:00
Rick Waldron 13446afa37 fixup! fixup! Atomics: updates to various Atomics tests. gh-1527 2018-06-22 15:14:11 -04:00
Rick Waldron 1a382d2c3c Atomics: features list corrections 2018-06-22 15:14:11 -04:00
Rick Waldron 3ea465996c fixup! Atomics: updates to various Atomics tests. gh-1527 2018-06-22 15:14:11 -04:00
Rick Waldron 7c30ad5c4f Atomics: expected return values for all atomic operations 2018-06-22 15:14:11 -04:00
Rick Waldron a3b05ee839 Atomics: updates to various Atomics tests. gh-1527
Ref gh-1531
2018-06-22 15:14:11 -04:00
Rick Waldron e246d95deb Remove strange copyright lines 2018-06-22 15:14:11 -04:00
Rick Waldron 8a78bb09a7 Atomics: remove BigInt condition from existing tests. 2018-06-22 15:14:10 -04:00
Leo Balter 6c2503a810
Adds String.fromCodePoint to the features list (#1606) 2018-06-21 16:03:08 -04:00
Rick Waldron 510f705689
Merge pull request #1599 from leobalter/u180e
Update RegExp tests for CharacterClassEscape \S
2018-06-19 14:34:01 -04:00
Leo Balter e89e9a8a28
Add global feature tag (#1600) 2018-06-18 18:00:19 -04:00
Leo Balter 012114a6c7 Update non whitespace RegExp tests 2018-06-18 15:53:08 -04:00
Rick Waldron f90a52b396
Merge pull request #1587 from peterwmwong/update-matchall
Update tests for String.prototype.matchAll
2018-06-07 23:15:50 -04:00
Rick Waldron bb24a3966d
Merge pull request #1589 from mathiasbynens/update-property-escapes-tests-unicode-11
Update RegExp Unicode property escape tests per Unicode 11
2018-06-07 23:13:51 -04:00
peterwmwong bbad9482e6 Update tests for String.prototype.matchAll
As per spec changes (https://github.com/tc39/proposal-string-matchall/pull/35), removed tests related to the removed IsRegExp call.
To prevent older implementations (not observing spec change) from passing, added a new test to verify the reduced number of observable calls to IsRegExp.

Also fix a misreference in `features` frontmatter.
2018-06-07 21:23:54 -05:00
Rick Waldron cd4371b5a7 Symbol.prototype.description: Assertion messages and additional tests 2018-06-07 22:08:52 -04:00
Rick Waldron 5d58479827
Merge pull request #1590 from joyeecheung/symbol-desc
Add tests for Symbol.prototype.description
2018-06-07 21:21:59 -04:00
Rick Waldron 3d15371689
Merge pull request #1580 from tc39/reflect-keys-ordering
Reflect.ownKeys: order with large integer "index" keys
2018-06-07 21:19:21 -04:00
Joyee Cheung 70b97383a8
test getter on symbols and wrapper objects 2018-06-08 05:36:22 +08:00
Joyee Cheung 28a66ceb75
Use propertyHelper, add more tests, fix getter calls 2018-06-08 04:56:59 +08:00
Joyee Cheung cc53f64325
Add tests for Symbol.prototype.description 2018-06-07 21:39:02 +08:00
Mathias Bynens 85d595effa Update RegExp Unicode property escape tests per Unicode 11
Emoji data is now published as part of the Unicode standard itself, and thus follows the same version number.

Ref. f302c60c84.
Ref. https://github.com/tc39/ecma262/pull/1218.
Ref. https://github.com/tc39/ecma262/issues/1219.
2018-06-07 15:32:41 +02:00
Rick Waldron 8e5340a56e
Merge pull request #1501 from apaprocki/date-parse-range
Date.parse breathing test, time value maximum range test
2018-06-04 16:20:07 -04:00
Rick Waldron a94b3bf431 Reflect.ownKeys: order with large integer "index" keys 2018-05-31 17:04:27 -04:00
Robin Templeton 904d90d0d6 Add Object.prototype.toString tests for BigInt.
Reported by André Bargull in
<https://bugzilla.mozilla.org/show_bug.cgi?id=1464758>.
2018-05-31 15:10:50 -04:00
Robin Templeton dbf1362cbc Check that JSON.stringify works with BigInt objects from other realms
This is based on André Bargull's test case in
<https://bugzilla.mozilla.org/show_bug.cgi?id=1464757>.
2018-05-28 19:58:02 -04:00
Rick Waldron a8f7012587 Array.prototype.flatten => Array.prototype.flat (#1569) 2018-05-22 15:47:50 -04:00
Nicolò Ribaudo 7ff8d48178 AsyncGeneratorPrototype/*/name.js use "async-iteration", not "generator" (#1556) 2018-05-15 13:52:59 -03:00
Valerie R Young 40883f4c6a Update filename character restriction in documention, linter and a few filenames 2018-05-11 22:19:01 -04:00
Rick Waldron 3b7a456ddb
Merge pull request #1532 from anba/compat-new
Various test cases for cross-browser compliance bugs
2018-05-03 14:19:40 -04:00
André Bargull b552dad5cb Various test cases for cross-browser compliance bugs 2018-05-03 09:27:27 -07:00
Leo Balter 24356b0c2c fix yaml 2018-04-25 11:39:23 -03:00
Rick Waldron a43777651c Atomics.wait: additional coverage. Completes gh-1466 2018-04-25 11:01:37 -03:00
Rick Waldron d12d7d270e Atomics.wake: additional coverage. (#1523)
Completes gh-1472
2018-04-25 10:00:35 -04: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 c55d2ab7c3 Extensive Function toString updates for "Function.prototype.toString revision" proposal. (#1510)
Fixes gh-1453
2018-04-19 16:44:52 -04:00
Rick Waldron ac65ecab7c Atomics: updates to tests 2018-04-19 15:09:39 -04:00
Amal Hussein 251a69acca wip 2018-04-19 15:07:05 -04:00
Amal Hussein 9d909ed681 fixup from pr feedback 2018-04-19 15:07:05 -04:00
Amal Hussein 0059b4783d additional test coverage for atomics.wait + removing old tests which have been replaced + test cleanup and renaming test files for consistency 2018-04-19 15:07:05 -04:00
Rick Waldron 9f57733ed9 Test all no-construct no-call objects consistently (#1520)
Related to https://github.com/tc39/ecma262/pull/1177
2018-04-19 11:23:17 -04:00
Rick Waldron cd6305155b BigInt: additional info frontmatter. Validated features (#1518) 2018-04-18 16:56:06 -04:00
Rick Waldron 14931c923f
Merge pull request #1516 from cxielarko/tostring-default-radix
test BigInt toString with default radix
2018-04-18 16:21:39 -04:00
Rick Waldron 119c8eadfa
Merge pull request #1517 from cxielarko/valueof-realm
cross-realm test for BigInt.prototype.valueOf
2018-04-18 16:19:49 -04:00
Robin Templeton 5be8900d6b cross-realm test for BigInt.prototype.valueOf
Thanks to Jeff Walden for suggesting this test case.
2018-04-17 20:50:05 -04:00
Robin Templeton 6d4b9a55f1 test BigInt toString with default radix
Thanks to Jeff Walden for suggesting this test case.
2018-04-17 20:25:35 -04:00
Robin Templeton bf1b79d65a remove IsSafeInteger checks for BigInt 2018-04-16 13:29:03 -04:00
Andrew Paprocki cab89848ad Date.parse: Test maximum time value range per spec. 2018-03-22 15:42:56 +00:00
Andrew Paprocki 9db5005ac3 Date.parse: Add 0 (UTC epoch) test per spec. 2018-03-22 15:42:55 +00:00
Amal Hussein 5d6899522a additional test coverage for atomics.wait (#1497) 2018-03-19 20:06:53 -04:00
Leo Balter 478f5b4c0c
Add features tags for Atomics and SharedArrayBuffer (#1494)
* Add features tags for Atomics

* Add features tags for SharedArrayBuffer
2018-03-19 19:51:32 -04:00