Commit Graph

4251 Commits

Author SHA1 Message Date
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
Frank Tang e17cc7b4bf Add test for Temporal.Calendar.prototype.dateUntil 2021-08-05 18:30:13 -04:00
Frank Tang 1a36125f25 Remove simple.js 2021-08-05 18:27:03 -04:00
Frank Tang 8f2434ba4d Fix directory name 2021-08-05 18:27:03 -04:00
Frank Tang 6ab8e86471 Add test for Temporal.Calendar.p.date(Add|FromFields) 2021-08-05 18:27:03 -04:00
Frank Tang a585faf566 split simple into different files 2021-08-05 18:27:03 -04:00
Frank Tang 173684422c Added back fiels incorrectly removed 2021-08-05 18:27:03 -04:00
Frank Tang df42e9a19b split into different add files 2021-08-05 18:27:03 -04:00
Frank Tang f772019855 Fix directory name 2021-08-05 18:27:03 -04:00
Frank Tang 1195736914 Add test for Temporal.Calendar.p.date(Add|FromFields) 2021-08-05 18:27:03 -04:00
Frank Tang bf1b3f585f Add abstract operation test for dateFromFields 2021-08-05 18:27:03 -04:00
Frank Tang c0b3a5f074 Add test for abrupt completion for dateAdd 2021-08-05 18:27:03 -04:00
Frank Tang 6c077667fc Fix directory name 2021-08-05 18:27:03 -04:00
Frank Tang 4a34d84b20 Add test for Temporal.Calendar.p.date(Add|FromFields) 2021-08-05 18:27:03 -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
Shu-yu Guo 5a6577bcc9
Add missing array-find-from-last feature to unscopables test (#3130) 2021-08-03 13:17:38 -07:00
Mike Pennisi ab353c6e73 Correct tests and improve documentation
The tests for the "Array findFromLast" proposal were originally authored
based on related tests that had already been merged to the repository's
`main` branch [1]. While those new tests were under review, a number of
tests for the Resizable ArrayBuffer proposal were found to be incorrect
[2]. The problem was fixed for the tests in `main`, but because the
corresponding tests for "Array findFromLast" were not yet merged, the
error persisted there [3].

Apply the same correction to the new tests.

[1] https://github.com/tc39/test262/issues/3111
[2] https://github.com/tc39/test262/pull/3113
[3] https://github.com/tc39/test262/pull/3045
2021-08-02 12:20:09 -04:00
Mike Pennisi f9efc46142 Improve coverage for Error.prototype.constructor
Extend coverage to include the property's enumerability, writability,
and configurability.
2021-07-29 16:54:52 -04:00
Mike Pennisi 4ec3eaaeb9 Improve coverage for Error.prototype.toString
Extend coverage to include the property's enumerability, writability,
and configurability.
2021-07-29 16:54:52 -04:00
Mike Pennisi cbd69bd26f Improve coverage for Error.prototype.name
Extend coverage to include the property's writability and
configurability. Use the conventional `verifyProperty` harness function
to consolidate tests.
2021-07-29 16:54:52 -04:00
Mike Pennisi c138c2acbe Improve coverage for Error.prototype.message
Extend coverage to include the property's writability, configurability,
and value. Use the conventional `verifyProperty` harness function to
consolidate tests.
2021-07-29 16:54:52 -04: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
Rick Waldron 2bb2256877
chore: migrate $ERROR -> throw new Test262Error in test/annexB (#3121) 2021-07-29 11:03:18 -07:00
Rick Waldron 5ab89bbb55
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/parseInt (#3120) 2021-07-29 11:02:59 -07:00
Rick Waldron 8c3753020a
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/undefined (#3119) 2021-07-29 11:02:41 -07:00
rwaldron 4a125f2f4e chore: migrate $ERROR -> throw new Test262Error in test/language/s* 2021-07-29 10:38:53 -04:00
Meir Blachman ad15eca476 chore: migrate $ERROR -> throw new Test262Error in test/built-ins/parseFloat 2021-07-29 10:29:03 -04:00
Rick Waldron ecf835778d
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Object (#3090) 2021-07-28 13:50:06 -07:00
Rick Waldron ee3597ed57
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/RegExp (#3092) 2021-07-28 13:49:34 -07: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
Leo Balter 758ecd7895
Merge pull request #3100 from tc39/rwaldron/remove-error-api-027
chore: migrate $ERROR -> throw new Test262Error in src/*
2021-07-28 13:42:42 -07:00
Wenlu Wang 915f7e79be Fix incorrect case 2021-07-28 13:53:14 -04:00
Wenlu Wang 74727cd4ed Fix CR issues 2021-07-28 13:53:14 -04:00
Wenlu Wang 6a6211e495 Fix format 2021-07-28 13:53:13 -04:00
Wenlu Wang 3d82bd7ffb Fix format 2021-07-28 13:53:13 -04:00
Wenlu Wang ed2addaa73 Fix format 2021-07-28 13:53:13 -04:00
Wenlu Wang 5da8030779 Fix format 2021-07-28 13:53:13 -04:00
rwaldron 4b54d54113 Fix copyrights and features metadata 2021-07-28 13:53:12 -04:00
Wenlu Wang 41e946d00b Fix format 2021-07-28 13:51:38 -04:00
Wenlu Wang 642a180e62 Fix minor typo 2021-07-28 13:51:38 -04:00
Wenlu Wang f354da8ba4 Add typedarray findLastIndex 2021-07-28 13:51:38 -04:00
Wenlu Wang cb54d119e3 Add typedarray find last tests 2021-07-28 13:51:37 -04:00
Wenlu Wang 6c5e421806 Add unscopable tests 2021-07-28 13:51:37 -04:00
Wenlu Wang a4aeea09ae Avoid useless spec statement 2021-07-28 13:51:37 -04:00
Wenlu Wang 3bb6d6480e Add findLastIndex tests 2021-07-28 13:51:37 -04:00
Wenlu Wang 275e7f1595 Add tests for proposal array find from last 2021-07-28 13:51:37 -04:00
Mike Pennisi 247085f9d8 fixup! Add tests for proposal, "Intl.DisplayNames v2" 2021-07-28 13:22:51 -04:00
Mike Pennisi d93e7b08e7 Add tests for proposal, "Intl.DisplayNames v2"
https://tc39.es/intl-displaynames-v2/
2021-07-28 13:22:51 -04:00
Mike Pennisi 1142ebee09 Remove extraneous feature flag 2021-07-28 12:44:07 -04:00
Mike Pennisi 8428e70367 Correct tests and improve documentation 2021-07-28 11:04:49 -04:00
Mike Pennisi 375cf1a40c Correct typo in expected value 2021-07-28 11:02:54 -04:00
rwaldron 77cc528526 Generate tests 2021-07-22 15:31:36 -04:00
Rick Waldron 6e2a29417a
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Function (#3083) 2021-07-22 10:31:45 -07:00
Rick Waldron f37edcb486
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Error (#3081) 2021-07-21 14:26:19 -07:00
Rick Waldron 2c3300312e
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Number (#3089) 2021-07-21 14:25:53 -07:00
Rick Waldron b0e791f4a6
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Date (#3079) 2021-07-21 14:14:06 -07: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
Rick Waldron d558af3ac0
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/String (#3093) 2021-07-21 13:36:17 -07:00
Michael Dyck 82e0487797 "Normalize" some YAML
In each case, it's the scalar value associated with the "description" key.
Normally in test262, this is written in either:
- block notation (indicated by '>' or '|'), or
- flow notation, single-line, on the same line as the key.

In the cases addressed by this PR, the value is instead written in:
- (1x) flow notation, *multi*-line, or
- (2x) flow notation, single-line, on the line *after* the key.

These are valid YAML, but they're styles that test262 doesn't otherwise use,
so could conceivably confuse people or harnesses.

This PR changes them to block notation.
2021-07-21 16:34:04 -04:00
Leo Balter ae0cf675bf Update test/built-ins/eval/no-construct.js 2021-07-21 16:33:48 -04:00
rwaldron a6a06d263a chore: migrate $ERROR -> throw new Test262Error in test/built-ins/eval 2021-07-21 16:33:48 -04:00
Rick Waldron 826b6ae16f
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Promise (#3091) 2021-07-21 12:48:13 -07:00
Rick Waldron 6230065d07
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/isFinite,isNaN (#3086)
* chore: migrate $ERROR -> throw new Test262Error in test/built-ins/isFinite,isNaN

* Update test/built-ins/isFinite/S15.1.2.5_A2.7.js

Co-authored-by: Leo Balter <leonardo.balter@gmail.com>

* Update test/built-ins/isNaN/S15.1.2.4_A2.7.js

Co-authored-by: Leo Balter <leonardo.balter@gmail.com>

Co-authored-by: Leo Balter <leonardo.balter@gmail.com>
2021-07-21 12:41:06 -07:00
Rick Waldron 1a30a69d12
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/decode*,test/built-ins/encode* (#3080) 2021-07-21 12:37:52 -07:00
rwaldron 488eb365db chore: migrate $ERROR -> throw new Test262Error in harness/ & test/harness 2021-07-21 15:15:55 -04:00
Rick Waldron e4c53bef51
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Math (#3088) 2021-07-21 12:10:32 -07:00
Rick Waldron a101757ca1
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/global (#3084) 2021-07-21 12:09:22 -07:00
Rick Waldron 02733c5af4
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Infinity (#3085) 2021-07-21 12:07:41 -07:00
Rick Waldron 0fce065601
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/JSON (#3087) 2021-07-21 11:57:35 -07:00
Rick Waldron a912ae03a5
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Boolean (#3078) 2021-07-21 11:55:36 -07:00
Rick Waldron 1ec7056f38
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Atomics (#3077) 2021-07-21 11:53:58 -07:00
Rick Waldron 99ab8cce08
chore: migrate $ERROR -> throw new Test262Error in test/built-ins/Array (#3071) 2021-07-21 11:53:23 -07:00
Mike Pennisi 347b651e95 Improve coverage for Intl Locale Info proposal 2021-07-21 13:43:57 -04:00
Leo Balter d19534c3ce Add a few tweaks 2021-07-21 09:21:09 -04:00
Leo Balter b4ff2c76bc Add test for Realm's @@toStringTag 2021-07-21 09:21:09 -04:00
rwaldron c778494922 fix: correction to broken test meta data 2021-07-21 09:21:09 -04:00
rwaldron 45495094e2 fix: updates per review 2021-07-21 09:21:09 -04:00
rwaldron bb0ad134f5 fix: use verifyProperty 2021-07-21 09:21:09 -04:00
rwaldron 29cb47e376 fix: correct capitalization 2021-07-21 09:21:09 -04:00
rwaldron a6b2aecaab fix: use verifyProperty 2021-07-21 09:21:09 -04:00
rwaldron d29fba05f9 fix: add missing newline at end of files, add missing frontmatter 2021-07-21 09:21:09 -04:00
rwaldron c94b4ee7e1 fix typo 2021-07-21 09:21:09 -04:00
rwaldron a303e07a12 test: import value, non-existant binding 2021-07-21 09:21:09 -04:00
rwaldron 80f162d174 fix: empty the lint trap 2021-07-21 09:21:09 -04:00
rwaldron 843b1baf7b tests: Realm.prototype.importValue semantics 2021-07-21 09:21:09 -04:00
rwaldron 8b7c610232 tests: Realm.prototype.evaluate validate realm object 2021-07-21 09:21:09 -04:00
rwaldron 4c98d138b9 fix: Realm.prototype.evaluate semantics 2021-07-21 09:21:09 -04:00
rwaldron b2f34c0894 tests: Realm.prototype.evaluate semantics 2021-07-21 09:21:09 -04:00
rwaldron 935d08814e tests: Realm.prototype.evaluate, Realm.prototype.importValue 2021-07-21 09:21:09 -04:00
Linus Groh 0efd2a3baa
Rename all uses of Temporal.now to Temporal.Now (#3069)
See: https://github.com/tc39/proposal-temporal/commit/d0acb66
2021-07-20 15:06:31 -04: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
jugglinmike 8faacdbaee
Add tests: "Extend TimeZoneName Option" proposal (#3042) 2021-07-16 09:45:02 -04:00
jugglinmike a92327395c
Correct errors in SharedArrayBuffer tests (#3040)
* Correct errors in SharedArrayBuffer tests

* fixup! Correct errors in SharedArrayBuffer tests
2021-07-16 09:31:00 -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 162e8be99f
Add tests for Temporal.now.plainDateTime (#3037)
* Temporal.now.plainDateTime: import tests from prop

* Add required metadata

* Correct invalid test

Ensure the error is thrown due to the invocation of the provided method.
Add a separate test to verify how the method is invoked.

* Remove duplicated assertions

* Improve coverage

* Rewrite test to focus on Calendar parameter

The observable interactions with the "timeZone" parameter are verified
by another test which is named for that purpose.

* Remove non-standard test

This test's title suggests that it was intended to verify the behavior
when the "calendar" parameter was undefined. The expected behavior in
that case depends on the presence of a builtin calendar named
"undefined." Test262 cannot definitively assert the presence or absence
of such a calendar.

In contrast to the title, the test body actually uses the calendar name
"japanese."  Test262 cannot definitively assert the presence or absence
of such a calendar.
2021-07-16 09:25:55 -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
Frank Yung-Fong Tang f1f3a2d542
Add test for 12.4.21 of Temporal (#3036)
* Add test for 12.4.21 of Temporal

12.4.21 Temporal.Calendar.prototype.fields ( fields )
https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.fields

@sffc @Ms2ger @ryzokuken @ljharb

* move to the right file

* remove from wrong place
2021-07-13 19:39:07 -04:00
Nicolò Ribaudo 356afd79a8
Fix syntax in `supportedLocalesOf-unicode-extensions-ignored` test (#3035) 2021-07-12 13:13:56 -04:00
Kate Miháliková c27f6a5b9a
Add tests for Intl.DateTimeFormat conflicting options (#3033)
Relates to tc39/proposal-temporal#1590
2021-06-30 11:43:26 -04:00
jugglinmike aaf4402b4c
Add tests for Temporal.now.instant (#3031) 2021-06-29 11:45:42 -04:00
jugglinmike ebb6c34fa5
Resizable ArrayBuffer: TypedArray methods (#3027)
* ResizableArrayBuffer: TypedArray.prototype.set

* Resizable ArrayBuffer: TypedArray methods

The files in this patch are highly similar. Only the test for
`TypedArray.prototype.copyWithin` was written manually. The others were
generated from that test via the following script:

    #!/bin/bash

    set -eu

    names_cb='
    every
    filter
    find
    findIndex
    forEach
    map
    reduce
    reduceRight
    some
    '
    names_num='
    at
    fill
    includes
    indexOf
    join
    lastIndexOf
    slice
    '
    names_none='
    entries
    values
    keys
    reverse
    sort
    toLocaleString
    values
    '

    for name in $(printf "${names_cb} ${names_num} ${names_none}"); do
      lower=$(echo ${name} | tr '[:upper:]' '[:lower:]')
      if echo "$names_cb" | grep -xq $name; then
        value='() => {}'
      elif echo "$names_num" | grep -xq $name; then
        value='0'
      else
        value=''
      fi

      if [[ "${name}" == 'at' ]]; then
        features_addition='TypedArray.prototype.at, '
      else
        features_addition=''
      fi

      sed \
        -e "s/copywithin/${lower}/g" \
        -e "s/copyWithin/${name}/g" \
        -e "s/${name}(.*);/${name}(${value});/g" \
        -e "s/resizable-arraybuffer/${features_addition}resizable-arraybuffer/g" \
        ./test/built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-this-out-of-bounds.js \
        > ./test/built-ins/TypedArray/prototype/${name}/return-abrupt-from-this-out-of-bounds.js
    done
2021-06-25 15:33:36 -04:00
jmdyck 781f10c9de
Append missing pipe character on "info:" lines (#3030) 2021-06-25 14:50:40 -04:00
Rick Waldron fb0a68a2cf
Add missing features: [resizable-arraybuffer] (#3029)
* Add missing features: [resizable-arraybuffer]

* fixup! Add missing features: [resizable-arraybuffer]

Co-authored-by: Mike Pennisi <mike@mikepennisi.com>
2021-06-25 14:01:23 -04:00
Mike Pennisi 802f22bf0e Temporal.now.timeZone: improve coverage 2021-06-25 13:52:57 -04:00
Mike Pennisi 19c5e38118 Temporal.now.timeZone: import tests from proposal 2021-06-25 13:52:01 -04:00
jugglinmike f734c2d547
Resizable ArrayBuffer: TypedArray accessors (#3028)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: TypedArray accessors
2021-06-25 13:38:51 -04:00
jugglinmike 13d7b79e90
Resizable ArrayBuffer: TypedArray constructor (#3026)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: TypedArray constructor
2021-06-25 13:31:05 -04:00
jugglinmike 884ed7f6f8
Resizable ArrayBuffer: SharedArrayBuffer accessors (#3025)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: SharedArrayBuffer accessors

* fixup! Resizable ArrayBuffer: SharedArrayBuffer accessors
2021-06-25 13:30:30 -04:00
jugglinmike a82aeaa391
Resizable ArrayBuffer: SharedArrayBuffer methods (#3024)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: SharedArrayBuffer methods

* fixup! Resizable ArrayBuffer: SharedArrayBuffer methods
2021-06-25 13:29:29 -04:00
jugglinmike 1db1bb8216
Resizable ArrayBuffer: SharedArrayBuffer ctor (#3023)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: SharedArrayBuffer ctor
2021-06-25 13:27:36 -04:00
jugglinmike a7fb08e3d7
Resizable ArrayBuffer: DataView accessors (#3022)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: DataView accessors
2021-06-25 13:26:32 -04:00
jugglinmike 5b31a8a9ba
Resizable ArrayBuffer: DataView methods (#3021)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: DataView methods

The files in this patch are highly similar. Only the test for
`DataView.prototype.getBigInt64` and `DataView.prototype.setBigInt64`
were written manually. The others were generated from those files via
the following script:

    #!/bin/bash

    set -eu

    names='
    BigUint64
    Float32
    Float64
    Int16
    Int32
    Int8
    Uint16
    Uint32
    Uint8
    '

    for name in ${names}; do
      lower=$(echo ${name} | tr '[:upper:]' '[:lower:]')
      if [ ${name} == 'BigUint64' ]; then
        replace_bigints=''
      else
        replace_bigints='-e s/\b\([0-9]\+\)n\b/\1/g'
      fi

      sed \
        -e "s/getbigint64/get${lower}/g" \
        -e "s/getBigInt64/get${name}/g" \
        ${replace_bigints} \
        ./test/built-ins/DataView/prototype/getBigInt64/resizable-buffer.js \
        > ./test/built-ins/DataView/prototype/get${name}/resizable-buffer.js

      sed \
        -e "s/setbigint64/set${lower}/g" \
        -e "s/setBigInt64/set${name}/g" \
        ${replace_bigints} \
        ./test/built-ins/DataView/prototype/setBigInt64/resizable-buffer.js \
        > ./test/built-ins/DataView/prototype/set${name}/resizable-buffer.js
    done
2021-06-25 13:24:00 -04:00
jugglinmike 4da5c800a3
Resizable ArrayBuffer: ArrayBuffer accessors (#3020)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: ArrayBuffer accessors

* fixup! Resizable ArrayBuffer: ArrayBuffer accessors
2021-06-25 13:21:11 -04:00
jugglinmike 93ad86b859
Resizable ArrayBuffer: ArrayBuffer methods (#3019)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: ArrayBuffer methods

* fixup! Resizable ArrayBuffer: ArrayBuffer methods
2021-06-25 13:19:33 -04:00
jugglinmike b3c2d3a88e
Resizable ArrayBuffer: ArrayBuffer constructor (#3018)
* Add "feature" for "Resizable ArrayBuffer" proposal

* Resizable ArrayBuffer: ArrayBuffer constructor
2021-06-25 13:18:42 -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
Frank Yung-Fong Tang 9997a26c7d
Fix tests on {localeMatcher: "lookup"} (#3008)
* Fix test for only {localeMatcher: "lookup"}

The expectation that "sr-Thai-RS" would be returned is only true with the 
9.2.2 BestAvailableLocale ( availableLocales, locale )
https://tc39.es/ecma402/#sec-bestavailablelocale
algorithm used by 9.2.3 LookupMatcher ( availableLocales, requestedLocales )
https://tc39.es/ecma402/#sec-lookupmatcher

The default for localeMatcher is "best fit" but not "lookup" for all Intl objects.

And for 9.2.4 BestFitMatcher ( availableLocales, requestedLocales )
https://tc39.es/ecma402/#sec-bestfitmatcher
It may not match "sr-Thai-RS" for "sr"  and return ["de", "zh-CN"] instead. Therefore, we need to change this test to only test on {localeMatcher: "lookup"}

* Add option to getLocaleSupportInfo

Needed to test different localeMatcher

* only test for "lookup" localeMatcher

* Get the info based on the localeMatcher

* pass in localeMatcher to getLocaleSupportInfo
2021-06-24 13:37:33 -04:00
Ujjwal Sharma 26cf753e74
intl402: add output tests for locale-info (#3007)
* intl402: locale-info tests for array output

* fixup! intl402: locale-info tests for array output

* fixup! intl402: locale-info tests for array output
2021-06-24 13:20:47 -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
Jamie Kyle bad7c0487e
Add tests for Object.hasOwn (#2995)
* Add tests for Object.hasOwn

* Update test/built-ins/Object/hasOwn/length.js

Co-authored-by: Jordan Harband <ljharb@gmail.com>

* Update test/built-ins/Object/hasOwn/name.js

Co-authored-by: Jordan Harband <ljharb@gmail.com>

* Fixup comments for Object.hasOwn

* Add Object.hasOwn descriptor test

* use assert.sameValue with true instead of assert()

* remove extra semicolons

* Remove old $ERROR style tests from hasown

* Fix thrown error type in hasown tests

* Fix incorrect test cases

Co-authored-by: Jordan Harband <ljharb@gmail.com>
2021-06-16 17:35:06 -04:00
Michael Dyck 1b16396c88 Delete duplicate feature-declaration 2021-06-10 12:03:05 -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
Ujjwal Sharma 5e0fc43c66
Add basic tests for proposal-intl-locale-info (#2987)
* Add basic tests for weekInfo

* Add basic tests for textInfo

* Add basic tests for timeZones

* Add basic tests for numberingSystems

* Add basic tests for hourCycles

* Add basic tests for collations

* Add basic tests for calendars

* Add feature for Intl.Locale-info

* add validation to branding tests for locale-info

Add additional assertion to branding tests for proposal-intl-locale-info
to make sure they don't pass spuriously when the proposal is not
implemented.
2021-05-18 22:40:08 -04:00
jugglinmike 6d353a4436
Remove invalid test (#2990) 2021-05-14 10:33:06 -07: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
jugglinmike 219ad6ff01
Add test for [[Description]] from `Symbol.for` (#2970)
* Add test for [[Description]] from `Symbol.for`

* fixup! Add test for [[Description]] from `Symbol.for`
2021-05-13 21:16:43 -04:00
Richard Gibson ffec772910 Improve Intl.Segmenter coverage 2021-05-11 17:40:05 -04:00
Alexey Shvayka 18638f301f Test non-writable descriptor & valid index 2021-05-11 17:39:18 -04:00
Alexey Shvayka 37999534c2 Test non-enumerable descriptor & valid index 2021-05-11 17:39:18 -04:00
Alexey Shvayka ac52cbe371 Test non-configurable descriptor & valid index 2021-05-11 17:39:18 -04:00
Alexey Shvayka ba6fd1d822 Test accessor descriptor & valid index 2021-05-11 17:39:18 -04:00
Alexey Shvayka c623dd288a Test valid descriptor & invalid index 2021-05-11 17:39:18 -04:00
Alexey Shvayka 63ad029d71 Remove spec step from "info" that is no longer correct 2021-05-11 17:39:18 -04:00
Alexey Shvayka f89bd5a29b Fix & improve TypeError cross-realm tests for detached buffer 2021-05-11 17:39:18 -04:00
Alexey Shvayka e1e90abbe9 Test that detached buffer throws TypeError 2021-05-11 17:39:18 -04:00
Alexey Shvayka 88979b5b12 Align [[Value]] ToNumber tests with updated spec 2021-05-11 17:39:18 -04:00
Mike Pennisi fd029d2d52 Increase precision of assertions for Error Cause
Minimize the code provided to the `assert.throws` utility in order to
reduce the possibility of false positives and to improve failure
messages in non-conforming runtimes.
2021-05-11 17:37:15 -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
Shu-yu Guo 70bc32edab
Give Error cause tests the error-cause feature tag (#2977) 2021-04-23 15:53:14 -07:00
legendecas 3e4e07c836
Add tests for stage 3 proposal error cause (#2965)
* Add tests for error cause

* Correct invocation of Proxy constructor

Co-authored-by: Mike Pennisi <mike@mikepennisi.com>
2021-04-23 14:45:27 -04:00
Alexey Shvayka eca69e2c95 Test internal methods of module namespace objects with indices 2021-04-20 09:59:06 -04:00
Alexey Shvayka ce74c5f52d Test BigInt wrapper object 2021-04-20 09:58:16 -04:00
Alexey Shvayka dcccc418b3 Test Symbol wrapper object 2021-04-20 09:58:16 -04:00
Rick Waldron bd65623af6 Revert "Add valid index prototype chain [[Set]] tests"
This reverts commit cc18d5bb14.
2021-04-20 09:56:22 -04:00
Rick Waldron b90326d9a4 Revert "Add valid index Reflect.set tests"
This reverts commit 20cd505a96.
2021-04-20 09:56:22 -04:00
Rick Waldron 3d77404e4f Revert "Add invalid index prototype chain [[Set]] tests"
This reverts commit 477e6ddffe.
2021-04-20 09:56:22 -04:00
Rick Waldron b110681292 Revert "Add invalid index Reflect.set tests"
This reverts commit a3aa19d2e2.
2021-04-20 09:56:22 -04:00
Alexey Shvayka a3aa19d2e2 Add invalid index Reflect.set tests 2021-04-20 09:55:27 -04:00
Alexey Shvayka 477e6ddffe Add invalid index prototype chain [[Set]] tests 2021-04-20 09:55:27 -04:00
Alexey Shvayka 20cd505a96 Add valid index Reflect.set tests 2021-04-20 09:55:27 -04:00
Alexey Shvayka cc18d5bb14 Add valid index prototype chain [[Set]] tests 2021-04-20 09:55:27 -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
Alexey Shvayka 6e61dd7754
Test Array's toString() with non-callable "join" (#2973)
* Test Array's toString() with non-callable "join"

* Remove Array.prototype.join modifications
2021-04-15 20:51:08 -04: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
Frank Yung-Fong Tang 31126581e7
Change Intl.(ListFormat|DisplayNames|Segmenter) (#2952)
* Change Intl.(ListFormat|DisplayNames|Segmenter)

Sync from ToObject to GetOptionsObject which throw TypeError
while the option is not object

* Add null and false to test
2021-03-08 19:31:26 -08:00
Mike Pennisi aca79695ba Add coverage for `Yield` parameter in RHS of `in` 2021-03-06 12:28:45 -05:00
Alexey Shvayka c00087e129 Test Array.prototype.sort called with a primitive 2021-03-02 16:33:02 -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
Ron Buckton 0d922ddc97 Fix lint error 2021-02-25 11:03:39 -05:00
Ron Buckton 64ea2d19e6 rename no-indices-array test 2021-02-25 11:03:39 -05:00
Ron Buckton d66f270313 PR Feedback 2021-02-25 11:03:39 -05:00
Ron Buckton a567e4c819 Updates to regexp-match-indices tests based on d-flag 2021-02-25 11:03:39 -05:00
Ujjwal Sharma f6034ebe9f Add DateTimeFormat tests for OrdinaryHasInstance
Add tests to make sure DateTimeFormat does not call the instanceof
operator and calls OrdinaryHasInstance instead.

Refs: https://github.com/tc39/ecma402/pull/500
2021-02-16 12:20:50 -05:00
Ujjwal Sharma 76ab0187c0 Add NumberFormat tests for OrdinaryHasInstance
Add tests to make sure NumberFormat does not call the instanceof
operator and calls OrdinaryHasInstance instead.

Refs: https://github.com/tc39/ecma402/pull/500
2021-02-16 12:20:50 -05:00
Alexey Shvayka 950d097516 Add Object.freeze test 2021-02-08 15:41:23 -05:00
Alexey Shvayka a4ca510b55 Add Object.seal test 2021-02-08 15:41:23 -05:00
Alexey Shvayka fd6bbbe581 Add Object.freeze tests 2021-02-08 15:40:48 -05:00
Alexey Shvayka 1fd4fb480c Add Object.seal tests 2021-02-08 15:40:48 -05:00
Alexey Shvayka 83ffa3d911 Add Object.preventExtensions tests 2021-02-08 15:40:48 -05:00
Yusuke Suzuki 93a2ba8c28 Fix BigInt TypedArrays tests
1. test/built-ins/TypedArray/prototype/findIndex/BigInt/predicate-may-detach-buffer.js
It is not updated when a60a67ea88 is landed. This patch fixes it.

2. test/built-ins/TypedArray/prototype/filter/BigInt/callbackfn-detachbuffer.js
After detaching, BigInt64Array/BigUint64Array will produce undefined for indexed access. And
if `filter`'s callback says `true` for these results, we need to store `ToBigInt(undefined)`
to a newly resulted BigInt64Array/BigUint64Array and this will throw an error. But this test
assumed it does not throw. This patch fixed flag so that we do not throw that error while keeping
detached typed arrays tested.
2021-02-03 22:10:52 -05:00
ExE Boss 8f904d8cc8 Set function `length` and `name` in `CreateBuiltinFunction` 2021-01-29 09:45:20 -05:00