Commit Graph

4145 Commits

Author SHA1 Message Date
Leo Balter 10ad4c1593 Split tests and fix false positive 2021-09-27 14:59:12 -04:00
Phillip Mates c768b9b8f2 Ensure that proxying wrapped functions preserves checks 2021-09-27 10:28:38 -04:00
rwaldron 4847d9db5a chore: update test/**/*.js to use assert.compareArray wherever applicable 2021-09-24 12:58:15 -04:00
Mike Pennisi 50dd431dff Focus test for BigInt v. of `copyWithin` method
Prior to this commit, a test for %TypedArray%.prototype.copyWithin
provided a TypedArray instance as the first argument. That argument that
is interpreted as a number, so in relying on the conversion, the test
verified behavior beyond what it purported to test.

Simplify the test by using the desired number value directly.
2021-09-24 11:21:19 -04:00
Mike Pennisi de6583d61d Use BigInt values idiomatically
Prior to this commit, a number of tests used non-BigInt values where
BigInt value are commonly used. Although this was technically
permissible to validate the behavior under test, the atypical usage
patterns tended to obscure the tests' purpose. Replace with more
appropriate values.
2021-09-24 11:20:58 -04:00
Mike Pennisi 741db35b65 Correct arguments for BigInt-accepting methods 2021-09-24 11:20:29 -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 8fad17a506 Focus tests for `copyWithin` methods
Prior to this commit, a test for %TypedArray%.prototype.copyWithin
provided a TypedArray instance as the first argument. That argument that
is interpreted as a number, so in relying on the conversion, the test
verified behavior beyond what it purported to test.

Simplify the test by using the desired number value directly, and extend
the tests for type coercion to cover object values.
2021-09-23 15:20:34 -04:00
Mike Pennisi e6b64517a4 Correct assertion messages and improve coverage
Following a recent normative change to the Resizable ArrayBuffer
proposal [1], the term "out of bounds" no longer applies to
"length-tracking" TypedArrays whose underlying ArrayBuffer has been
resized to match their byte offset.

Reflect this in the tests by renaming the condition from "out of bounds"
to "on boundary" and by adding new assertions for true "out of bounds"
conditions.

[1] https://github.com/tc39/proposal-resizablearraybuffer/pull/70
2021-09-23 15:16:43 -04:00
Mike Pennisi 1b72bcd857 Correct mistakes in support of proposal change
Ensure that when the ArrayBuffer of a length-tracking TypedArray is
resized to the address matching the TypedArray's byte offset, the
TypedArray is *not* considered "out of bounds."
2021-09-23 15:16:15 -04:00
Rick Waldron 43f4453472
Update test/built-ins/ShadowRealm/prototype/evaluate/returns-proxy-callable-object.js
Co-authored-by: Leo Balter <leonardo.balter@gmail.com>
2021-09-22 12:42:24 -04:00
rwaldron abdc0fa441 Add Proxy callable return test 2021-09-22 12:21:51 -04:00
rwaldron e4adfd8979 fix: ensure check for ShadowRealm at start of test 2021-09-22 12:21:11 -04:00
Leo Balter 49819bc0bc Add more tests verifying errors from ShadowRealms evaluation 2021-09-22 10:32:44 -04:00
Leo Balter 61bd4e9453 Add identity tests for the assert.throws 2021-09-21 16:45:27 -04:00
Frank Yung-Fong Tang 16dae73171
improve the case with the version without : (#3204) 2021-09-17 14:02: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
Andreas Woess 2314b99bac
Fix incorrect tests: new Date(-0).valueOf() and new Date(-1.23e-15).valueOf() should return +0. (#3201) 2021-09-15 11:57:45 -04:00
Leo Balter 227977a8e6 Fix tests issues 2021-09-14 11:58:41 -04:00
Leo Balter 6a5b818896 Add more tests to ShadowRealms
Ref #3044
2021-09-14 09:06:58 -04:00
Richard Gibson 30eca7761b Add assertion messages 2021-09-13 10:09:42 -04:00
Richard Gibson 1a655779f0 Test lastIndex overwrite with big lastIndex 2021-09-13 10:09:42 -04:00
Phillip Mates ed0532e231 syntax errors for `ShadowRealm.evaluate` should be exposed 2021-09-13 10:09:42 -04:00
Mike Pennisi aa5c2adb7c Improve coverage: zonedDateTime & zonedDateTimeISO 2021-09-13 10:09:42 -04:00
Mike Pennisi 424406b5be Correct metadata 2021-09-13 10:09:42 -04:00
Mike Pennisi 57491d838f Import tests for Temporal.Now.zonedDateTimeISO
These tests originated in the Temporal proposal repository
https://github.com/tc39/proposal-temporal
2021-09-13 10:09:41 -04:00
Mike Pennisi c99ec1780d Import tests for Temporal.Now.zonedDateTime
These tests originated in the Temporal proposal repository
https://github.com/tc39/proposal-temporal
2021-09-13 10:09:41 -04:00
Mike Pennisi 0232d97415 Add tests for Temporal.Now.plainDateTimeISO 2021-09-13 10:09:41 -04:00
legendecas 7c3d29686b Add test for byteOffset coverage in %typedarray%.prototype.copywithin 2021-09-13 10:09:41 -04:00
Jan Štola 71a0bb9e7f RegExp.prototype.compile from other realm should throw TypeError from other realm. 2021-09-10 15:04:11 -04:00
André Bargull 66a3c3aa8b Add tests for Intl Enumeration API
Covers the usual surface tests and additional functionality tests which were
upstreamed from existing tests in SpiderMonkey.

Fixes #3131
2021-09-08 09:29:06 -04:00
André Bargull 71460edfeb Add helper functions to retrieve all calendars, collations, numberingSystems, and simple sanctioned units
And then use these helpers to replace hard-coded lists in other tests.
2021-09-08 09:29:06 -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 e9fc3db379 Add test for normative change to TCO&revoked Proxy
Normative: phrase tail calls as discarding resources rather than popping
execution context stack
https://github.com/tc39/ecma262/pull/2495
2021-09-07 17:50:48 -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 b62a070221 Simplify test
Remove semantics which are not necessary to exercise the behavior under
test.
2021-09-07 17:47:06 -04:00
Linus Groh 2b01f137ef Fix 'asserts.throws()' typo in two tests
This should be 'assert.throws()', otherwise these fail unexpectedly.

Fixes #3184.
2021-09-05 19:43:24 -07:00
Richard Gibson 50f3fca7a0
Test Math.hypot argument coercion (#3177)
* Test Math.hypot argument coercion

* Fix constructor
2021-09-03 15:59:25 -04:00
rwaldron 2fcc43df17 Transform legacy format to harness assertions: test/built-ins/N*/**/*.js 2021-09-02 11:34:34 -07:00
rwaldron 19d081ef1d Transform legacy format to harness assertions: test/built-ins/O*/**/*.js 2021-09-02 11:34:27 -07:00
rwaldron 2a385983b1 Transform legacy format to harness assertions: test/built-ins/P*/**/*.js 2021-09-02 11:34:18 -07:00
rwaldron 717bcbaedd Transform legacy format to harness assertions: test/built-ins/R*/**/*.js 2021-09-02 11:34:06 -07:00
André Bargull 0181293d38 "era" and "eraYear" are ECMA-402 only properties.
Both properties are only present when ECMA-402 is supported.
2021-09-02 11:23:23 -07:00
rwaldron 35ce309dc7 Transform legacy format to harness assertions: test/built-ins/F*/**/*.js 2021-09-02 11:22:11 -07:00
rwaldron 6a00f28e50 Transform legacy format to harness assertions: test/built-ins/i*/**/*.js 2021-09-02 11:22:05 -07:00
rwaldron 2944eb2eca Transform legacy format to harness assertions: test/built-ins/J*/**/*.js 2021-09-02 11:21:59 -07:00
rwaldron ec9c9b8dfd Transform legacy format to harness assertions: test/built-ins/I*/**/*.js 2021-09-02 11:21:50 -07:00
rwaldron 1286bb601e Transform legacy format to harness assertions: test/built-ins/E*/**/*.js 2021-09-02 11:21:41 -07:00
rwaldron f1720c4a0c Mark with "TODO: Convert to verifyProperty() format." 2021-09-02 11:21:25 -07:00
rwaldron 1c24e4b915 Transform legacy format to harness assertions 2021-09-02 11:21:25 -07:00
Rick Waldron 1667f56c04
Coverage for BigUint64Array & BigInt64Array backed by resizable / growable buffers. Fixes gh-3112 (#3154) 2021-09-02 11:19:53 -07:00
Leo Balter e3902f5107
Merge pull request #3176 from tc39/rwaldron/rename-realm-shadowrealm
Renaming Realm -> ShadowRealm
2021-09-02 11:09:15 -07:00
Rick Waldron 9382febd80
Automated feature flag update (#3153) 2021-09-02 11:07:50 -07:00
rwaldron bf0d0f6c3d fix: correction to descriptor definition 2021-09-02 11:12:03 -04:00
rwaldron 025a9691cb fix: rename Realm -> ShadowRealm 2021-09-02 11:07:19 -04:00
rwaldron 4a55a4f67a fix: rename feature tag from "callable-boundary-realms" -> "ShadowRealm"; rename built-ins/Realm -> built-ins/ShadowRealm 2021-09-02 10:46:33 -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
Mike Pennisi c324e5c620 Correct tests for Unicode Language Identifier
The underscore character "_" is only accepted for the sep production [1]
when the backwards-compatibility extensions [2] are enabled. However,
ECMA-402 only accepts Unicode BCP 47 locale identifiers [3], meaning
identifiers *without* the backwards-compatibility extensions.

[1] https://unicode.org/reports/tr35/#Unicode_language_identifier
[2] https://unicode.org/reports/tr35/#BCP_47_Conformance
[3] https://tc39.es/ecma402/#sec-language-tags
2021-09-02 10:34:22 -04:00
Mike Pennisi 0ecc26b987 Fix error in test for Temporal.now.plainDateTime 2021-09-02 10:03:02 -04:00
Michael Dyck 9cb0746f52 Normalize some YAML
In some recently added tests, the `description` is a multi-line scalar
in flow notation. Change it to block notation.
2021-09-02 10:00:32 -04:00
Mickey Rose 603b10dbfa
avoid unnecessary calls to decimalToHexString() (#3170) 2021-09-01 17:26:54 -04:00
Mickey Rose 836111dc3c
remove redundant throw from assert.throws() test functions (#3167) 2021-08-26 07:55:52 -07:00
Mike Pennisi 07caa4a2df Support normative change to Resizable ArrayBuffer
A recent normative change to the Resizable ArrayBuffer modified the
criteria for a TypedArray becoming "out of bounds." Following the
change, TypedArrays which track the length of their underlying
ArrayBuffer instance are no longer considered "out of bounds" when the
ArrayBuffer is resized such that its size matches the TypedArray's
offset exactly.

https://github.com/tc39/proposal-resizablearraybuffer/pull/70

The majority of this patch's changes extend coverage to include cases
for both "on boundary" and "out of bounds" without reflecting any new
semantics. Two changes describe observable differences in the new
version of the algorithm:

- out-of-bounds-when-species-retrieved-different-type.js
- out-of-bounds-when-species-retrieved-same-type.js
2021-08-25 16:14:56 -04:00
jugglinmike 49347e0cf9
Remove unreachable code (#3165)
* Remove unreachable code

* fixup! Remove unreachable code
2021-08-25 16:13:00 -04:00
Rick Waldron 0fd4111b8b
fix: make callable from function declaration (#3164) 2021-08-25 13:04:05 -07: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
Leo Balter 2c4f2665ec
Merge pull request #3143 from tc39/rwaldron/transform-legacy-001
Transform legacy format to harness assertions: test/built-ins/A*/**/*.js
2021-08-19 10:36:45 -07:00
Leo Balter 82db0c4a0a
Merge pull request #3142 from tc39/rwaldron/transform-legacy-002
Transform legacy format to harness assertions: test/built-ins/B*/**/*.js
2021-08-19 10:36:06 -07:00
rwaldron 85aa16c4c0 Generate tests 2021-08-19 11:52:55 -04:00
Philip Chimento 45a913c057
Add branding tests from Temporal (#3138)
Closes: #3137

Co-authored-by: Ms2ger <Ms2ger@igalia.com>
2021-08-11 12:31:23 -07:00
Rick Waldron 69262f6743
Transform legacy format to harness assertions: test/built-ins/M*/**/*.js (#3150) 2021-08-11 12:20:01 -07:00
rwaldron 20eb6b0878 Transform legacy format to harness assertions 2021-08-11 11:07:49 -04:00
rwaldron e6556eeaed Removed duplicate of test/built-ins/Boolean/prototype/S15.6.3.1_A1.js 2021-08-11 10:53:01 -04:00
rwaldron 21e627b35d Transform legacy format to harness assertions 2021-08-11 10:42:40 -04:00
rwaldron 08cf542e1b Remove "//CHECK#\d" 2021-08-11 10:20:11 -04:00
Rick Waldron 452c0e5c61
Automated assertion message update: Array * (#3140)
* Automated assertion message update: Array.from

* Automated assertion message update: Array.isArray

* Automated assertion message update: Array length property

* Automated assertion message update: Array.of

* Automated assertion message update: Array

* Automated assertion message update: Array.prototype.at

* Automated assertion message update: Array.prototype.concat

* Automated assertion message update: compareArray -> assert.compareArray
2021-08-10 14:51:54 -07:00
Rick Waldron bb93efdb6b
Automated assertion message update (#3136)
This also required manually fixing the "actual" and "expected" order of many assert.sameValue(...) calls.
2021-08-10 10:40:04 -07:00
Frank Tang 86e23998e3 Add more tests 2021-08-06 18:31:47 -04:00
Frank Tang 88d1ede7d6 Split the test and add more tests 2021-08-06 18:31:47 -04:00
Frank Tang bb4729126c Remove incorrect lines 2021-08-06 18:31:47 -04:00
Frank Tang ee94a2ce7f fix directory name 2021-08-06 18:31:47 -04:00
Frank Tang 35850e5782 Add Temporal.Calendar.prototype.daysIn* tests. 2021-08-06 18:31:47 -04:00
Rick Waldron e6c21464f5 Automated feature flag update 2021-08-05 18:44:17 -04:00
Frank Tang 1c722a8158 fix comments 2021-08-05 18:31:44 -04:00
Frank Tang a87f987e7f add more tests 2021-08-05 18:31:44 -04:00
Frank Tang d554db9438 Fix YAML indent issue 2021-08-05 18:31:44 -04:00
Frank Tang 2d480d4c76 Fix directory name 2021-08-05 18:31:44 -04:00
Frank Tang 52bb16f9a5 Add tests for Temporal.Calendar.prototype.dayOf* 2021-08-05 18:31:44 -04:00
Frank Tang 97967a37b3 fix id 2021-08-05 18:31:06 -04:00
Frank Tang 6cc2d81dab Split to different files and test throwing Error 2021-08-05 18:31:06 -04:00
Frank Tang b5a4033fcc Fix directory name 2021-08-05 18:31:06 -04:00
Frank Tang 932c931a70 Add tests for Temporal.Calendar.prototype.(year|month*|day) 2021-08-05 18:31:06 -04:00
Frank Tang 750ec2b581 Fix YAML 2021-08-05 18:30:13 -04:00
Frank Tang 8ebded4cfa use harness and add more tests 2021-08-05 18:30:13 -04:00
Frank Tang 7418ba62b1 rm throws-range-error.js 2021-08-05 18:30:13 -04:00
Frank Tang b58e01afca Fix YAML 2021-08-05 18:30:13 -04:00
Frank Tang 721245be53 Fix directory name 2021-08-05 18:30:13 -04:00