228 Commits

Author SHA1 Message Date
Leo Balter
880f8a5ba6 Add tests for RegExp.escape 2024-07-18 17:30:09 +02:00
Mathias Bynens
830b17a3a0 Update RegExp \p{…} tests per Unicode 15.1.0
Issue: #3945
2024-04-17 16:04:56 -07:00
Kevin Gibbons
961480ac61 remove some auto-generated error messages in "assert.throws" tests 2024-03-25 12:09:10 +01:00
Kevin Gibbons
5424d7e834 rewrite tests to use verifyProperty 2024-03-25 12:05:06 +01:00
Ron Buckton
46fc281430 Add tests for RegExp modifiers 2024-03-07 10:45:31 -08:00
Guillaume Emont
229a27bcbc Added new generated tests with uppercase I
Co-Authored-By: Ioanna M. Dimitriou H <idimitriou@igalia.com>
2024-03-05 12:56:48 -08:00
Cam Tenny
49a58a4716 Adds syntax tests for the RegExp modifiers proposal
Based on PR #3807 which had generated these tests from templates,
but was stuck due to issue #3808.

Co-Authored-By: Guillaume Emont <guijemont@igalia.com>
Co-Authored-By: Ioanna M. Dimitriou H <idimitriou@igalia.com>
2024-03-05 12:56:48 -08:00
André Bargull
4d44acbc03 Update case folding tests for Unicode 15.1
Unicode 15.1 added the following "simple" case-folding entries:
```
1FD3; S; 0390; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
1FE3; S; 03B0; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
FB05; S; FB06; # LATIN SMALL LIGATURE LONG S T
```
2023-11-08 13:43:44 +01:00
Mathias Bynens
1a0b9d23f2 Add tests ensuring the latest Unicode Emoji standard is being followed
The behavior of `/\p{RGI_Emoji}/v` and other properties of strings depends on the Unicode & Emoji version being used in the JavaScript engine. This patch adds tests verifying new additions to `RGI_Emoji` for each release of the Unicode Emoji standard are correctly matched.
2023-08-28 16:31:57 +02:00
Kevin Gibbons
8a7b686502 add test for regexp matching with zero-length quantified matches 2023-08-24 10:47:01 +02:00
Mathias Bynens
1010e63caf Add tests for RegExp v flag errors that were allowed with u
https://github.com/tc39/proposal-regexp-v-flag#how-is-the-v-flag-different-from-the-u-flag

Issue: #3496
Issue: https://github.com/tc39/proposal-regexp-v-flag/issues/52
2023-05-01 23:34:57 -07:00
José Julián Espina
4a6439e4a7
Add Array.prototype.includes and exponentiation features (#3799) 2023-03-23 10:51:08 +01:00
Philip Chimento
d87a7da6e1 Replace Object.hasOwnProperty.call with Object.prototype.hasOwnProperty.call
While we're at it, use assert() instead of assert.sameValue() for brevity,
if we are not specifically testing that the return value of hasOwnProperty
is the value true or false; and add more informative assertion messages to
help with debugging.

In some cases, the Object.hasOwnProperty.call could be replaced with
verifyProperty(), if the property descriptor was also being verified at
the same time.

This fixes some tests that were faulty to begin with: a common mistake was
Object.hasOwnProperty(obj, prop) which is probably going to return false
when that's not what you want.

The only instances left of `Object.hasOwnProperty` are one regression test
in implementation-contributed which I can't tell if it was intentionally
needed to trigger the regression, and a few instances of
`Object.hasOwnProperty('prototype')` which would defeat the purpose to
convert into `Object.prototype.hasOwnProperty.call(Object, 'prototype')`
form.

Closes: #3524
2022-11-30 16:04:02 -08:00
Mathias Bynens
1d5dc6b577 Remove tests involving the Emoji_Test property
`Emoji_Test` is not an official Unicode property of strings. Work on standardizing such a property (although likely under a different name) is happening: https://github.com/mathiasbynens/emoji-test-regex-pattern/issues/7
2022-11-10 13:51:56 +01:00
Ms2ger
745f3c01aa Add more tests for duplicated named capture groups.
Fixes #3704.
2022-11-04 10:54:28 -07:00
Ms2ger
54c9ff9084 Rename duplicate-names.js. 2022-11-04 10:54:28 -07:00
Philip Chimento
9e1907e5f7 Unicode case-folding tests
Adds a test similar to the one in #3697, but in the main tree.

The six code points in this test have an "F" for full case mapping in
CaseFolding.txt, and so they should not be considered in the
Canonicalize operation.

Current versions of SpiderMonkey and V8 fail this test, others pass.
2022-11-03 11:50:29 +01:00
Philip Chimento
27063ae219 Duplicate named capture groups: .groups and .indices.groups objects
These tests should cover the full functionality of the .groups object (and
the .indices.groups object, in the case of the /d flag) for RegExp.p.exec
and String.p.match:

- Matched DNCG has a result
- Unmatched DNCG is present and undefined
- DNCG matched in previous iteration but not in current iteration is
  treated as unmatched
- Iteration order of properties corresponds with source order

See: #3704
2022-11-02 15:22:58 +01:00
Philip Chimento
fabb1fd379 Duplicate named capture groups: Fix match arrays
Each named capturing group should count as its own parenthesized capturing
group, even if it has the same name as another group. So, some of these
expectations were missing `undefined` array elements for the variant of
the `x` capturing group that didn't match.

In the other expectations, we forgot to take into account that the
backreference is not inside a capturing group, so the group match should
not have doubled letters in it.
2022-11-02 15:22:58 +01:00
Philip Chimento
d77d9b2b85 Duplicate named capture groups: Syntax tests
Parse-time syntax for RegExp literals is already tested. These two files
test runtime RegExp compilation, with respect to duplicate named capture
groups.

See: #3704
2022-11-02 15:22:58 +01:00
Mathias Bynens
3eaa7c9313 Update RegExp \p{…} tests per Unicode 15
Upstream commit: 859db0d6df

Issue: https://github.com/tc39/ecma262/issues/2904
2022-09-21 11:19:28 +02:00
Kevin Gibbons
adba7dfd9c fix order 2022-08-09 12:15:49 -07:00
Kevin Gibbons
418419a345 add non-matching example 2022-08-09 12:15:49 -07:00
Kevin Gibbons
52284ba4bb add tests for proposal-duplicate-named-capturing-groups 2022-08-09 12:15:49 -07:00
Philip Chimento
d45766bef3 Add cases to RegExp.prototype flags brand checking tests
For completeness, as we are doing in newer brand checking tests such as
those of Temporal, call these getters with a function object and a bigint
as the receiver.

Suggested in https://github.com/tc39/test262/pull/3614/files#r929662337
2022-08-09 12:07:36 -07:00
Richard Gibson
9e51a9d855 Update RegExp.prototype.{match,replace} tests to expect Get(rx, "flags")
Ref https://github.com/tc39/ecma262/pull/2791
2022-08-09 12:02:45 -07:00
Mathias Bynens
e623dd7a11
Add manually written tests for RegExp v flag proposal (#3614)
https://github.com/tc39/proposal-regexp-v-flag

Issue: #3496, https://github.com/tc39/proposal-regexp-v-flag/issues/52

Add more tests for the new RegExp `v` flag

Add test for combination of `u` and `v` flag
2022-07-26 10:42:06 -07:00
Mathias Bynens
67160e94a9 Remove duplicate entries from nonMatchStrings
https://github.com/mathiasbynens/unicode-property-escapes-tests/pull/12
2022-07-12 19:21:53 -07:00
Mathias Bynens
33ea5b6439 Move folder around 2022-07-12 19:21:53 -07:00
Mathias Bynens
d361217eb7 Add tests for RegExp set notation
Set notation and extended character class functionality is part of the RegExp `v` flag proposal: https://github.com/tc39/proposal-regexp-set-notation

Issue: https://github.com/tc39/test262/issues/3496, https://github.com/tc39/proposal-regexp-set-notation/issues/52
2022-07-12 19:21:53 -07:00
Jordan Harband
28b31c0bf1 use isConstructor assertion in "non-constructor" tests 2022-04-27 12:23:50 -04:00
Mathias Bynens
489a9f8d52 Add tests for \p{…} with properties of strings
This functionality is part of the RegExp `v` flag proposal: https://github.com/tc39/proposal-regexp-set-notation
2022-01-04 09:31:37 -05:00
Neil Dhar
ba82d46238 Add annotations for named capture groups in match indices tests 2021-10-25 09:19:54 -04:00
Rick Waldron
c44eeadcae
Transform compareArray -> assert.compareArray: test/built-ins/RegExp/**/*.js (#3234) 2021-10-05 22:40:39 -04:00
Mike Pennisi
d9ddf80479 Revert "Merge pull request #3219 from tc39/rwaldron/migrate-comparearray"
This reverts commit b690cb67be9b487eb10156c03e2c00869e88cc9d, reversing
changes made to 50dd431dffe5cf86e9064a652d6b01dbbe542cf0. This is
necessary because the reverted changeset reduced coverage by an unknown
extent.
2021-10-01 10:18:47 -04:00
Mathias Bynens
04ad519be9
Update RegExp property tests per Unicode v14 (#3199)
Issue: https://github.com/tc39/ecma262/issues/2514
2021-09-30 11:48:47 -04:00
rwaldron
4847d9db5a chore: update test/**/*.js to use assert.compareArray wherever applicable 2021-09-24 12:58:15 -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
rwaldron
717bcbaedd Transform legacy format to harness assertions: test/built-ins/R*/**/*.js 2021-09-02 11:34: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
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
Gus Caplan
1d31345a70 fixup 2020-10-08 18:05:00 -04:00
Gus Caplan
881c9e3ba5 move __proto__ tests 2020-10-08 18:05:00 -04:00
Rick Waldron
d576baf73f Info: adds "sec-evaluatenew" step to info for all "not-a-constructor.js" tests. 2020-10-06 12:01:34 -04:00
Rick Waldron
8aacff591c Standardize built-in constructor testing 2020-10-06 12:01:34 -04:00
Rick Waldron
c644ede430 Built-in function objects that are not identified as constructors must throw a TypeError exception when new'ed. Fixes gh-1739 2020-10-06 12:01:34 -04:00