Commit Graph

82 Commits

Author SHA1 Message Date
Mathias Bynens 953992d235 Update RegExp Unicode property escape tests per latest proposal & Unicode 10 2017-07-13 12:35:44 -04:00
Aleksey Shvayka 4327cdb207 Improve RegExp.prototype.source coverage (#1145) 2017-07-11 11:14:21 -04:00
Aleksey Shvayka ce0ba9b2e6 add escaped substitution test 2017-06-27 00:45:08 +03:00
Aleksey Shvayka f7b15e18d4 add empty replace test 2017-06-26 18:57:19 +03:00
Aleksey Shvayka cb22dad417 add empty references tests 2017-06-26 18:35:16 +03:00
Aleksey Shvayka c38f1d12b0 add groups object tests 2017-06-23 22:59:57 +03:00
Mathias Bynens d587abccdb Fix test involving a Unicode property escape in a character class range (#1034)
Thanks to @anba for spotting this: 4843f049fa (r116528031)
2017-05-17 13:07:50 -04:00
Mathias Bynens d5e1150325 Add regular RegExp Unicode property escape tests (#1014)
Ref. https://github.com/mathiasbynens/unicode-property-escapes-tests/pull/8.
2017-05-01 13:25:51 -04:00
Leo Balter ca314476a9 Update RegExp tests for named-capturing and dotAll (#1009)
* Split order tests for RegExp#flags

* small fixes for RegExp named groups

* Remove invalid syntax

* The test mustn't include the global flag
2017-05-01 12:08:31 -04:00
Leo Balter a09f857ed8 Merge pull request #1006 from leobalter/fix-info
Update RegExp#dotAll tests
2017-04-27 19:37:54 -04:00
Leo Balter 0f10d73fef
Split tests and fix actual/expected order 2017-04-27 19:33:42 -04:00
Daniel Ehrenberg 6ee183a057
RegExp lookbehind tests
Tests for the stage 3 proposal at
https://tc39.github.io/proposal-regexp-lookbehind/

Tests ported from V8, written by @hashseed
2017-04-27 19:33:40 -04:00
Leo Balter 7493787a3f
Replace duplicate case 2017-04-27 18:39:37 -04:00
Leo Balter 028d984c0e
Update RegExp#dotAll tests 2017-04-27 18:35:37 -04:00
Leo Balter f2db2b6829
fix metadata for regexp.prototype.dotall 2017-04-27 18:24:48 -04:00
Daniel Ehrenberg bfc9020d51 Tests for RegExp dotAll proposal (#997)
Proposal from @mathiasbynens at https://github.com/tc39/proposal-regexp-dotall-flag and https://tc39.github.io/proposal-regexp-dotall-flag/
2017-04-27 18:20:24 -04:00
Daniel Ehrenberg 6cf15f523a RegExp named group tests (#998)
Tests against the Stage 3 named capture groups proposal
https://tc39.github.io/proposal-regexp-named-groups
2017-04-27 12:50:59 -04:00
Mathias Bynens d354788f6f RegExp property escapes: list emoji data version (UTR51) (#981) 2017-04-18 12:30:35 -04:00
Mike Pennisi 2c0c3e7f96 Correct typo in copyright information 2017-04-18 12:23:22 -04:00
Mathias Bynens 1c1935e363 Remove tests for Unicode properties that are no longer supported (#980)
Ref. https://github.com/tc39/proposal-regexp-unicode-property-escapes/issues/27.
2017-04-15 12:57:32 -04:00
Mathias Bynens 92a85ed8fd Fix `Script_Extensions=Inherited` data (#977)
Ref. https://github.com/mathiasbynens/node-unicode-data/issues/45.
Ref. da8ae69b9b.
Ref. https://github.com/mathiasbynens/unicode-property-escapes-tests/issues/7.
2017-04-14 12:20:05 -04:00
André Bargull d59e30c95e Remove execute bit from files (#976) 2017-04-13 16:24:07 -04:00
Mathias Bynens d993c4a9e8 Fix three broken RegExp property escape tests (#974)
c62ed61cfc
2017-04-13 14:40:18 -04:00
Mathias Bynens 44b40e083e Add exhaustive tests for RegExp Unicode property escapes (#971)
Proposal: https://github.com/tc39/proposal-regexp-unicode-property-escapes

These tests have been generated by the script at https://github.com/mathiasbynens/unicode-property-escapes-tests. They check all the properties and values that should be supported by implementations against the symbols they’re supposed to match. False positives are detected as well.

Ref. #950.
Ref. https://github.com/tc39/proposal-regexp-unicode-property-escapes/issues/4.
2017-04-13 11:22:49 -04:00
littledan 184275fb25 Tests for RegExp capture substitution out of bounds (#925)
In https://github.com/tc39/ecma262/pull/853 , standard semantics
for this case are proposed. This patch tests the case.
2017-03-27 13:53:33 -04:00
André Bargull 6b09ad0459 Update YAML frontmatter of some tests to be compatible with monkeyYaml (#862) 2017-03-01 16:35:37 -05:00
Rick Waldron fdd2fa9b1c Rename $ => $262. Fixes gh-802 (#823)
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-03-01 16:34:15 -05:00
littledan f21ac5609b Fix call to assert.notSameValue (#859)
Thanks to @demurgos for spotting this bug at #858
2017-02-13 13:48:38 -08:00
littledan 91ba9a0a25 Update RegExp tests for the semantics change (#853)
Spec change at https://github.com/tc39/ecma262/pull/798
2017-02-09 12:51:02 -05:00
jugglinmike 71e573f7da Add tests for realm interactions (#688)
* Add tests for prototype realm inference

* Add tests for miscellaneous realm concerns

* Add tests for realm of spec-created Errors

In some cases, Error objects produced by the specification are
observable from ECMAScript code. Among these cases, some are further
differentiated in that they occur outside of any built-in function and
may be triggered through syntactic production directly. The current
realm record is commonly interpreted incorrectly under these
circumstances.

Add tests asserting that the expected realm record is used when
constructing such Error objects.

* Add tests for realm use in ArraySpeciesCreate

* Add tests for function realm retrieval

* Add tests for cross-realm behaviors of Symbols

* Add tests for GetValue and PutValue

* Add tests for realm of spec-created Arrays

In some cases, Arrays produced by CreateArrayFromList are observable
from ECMAScript code. Among these cases, two occur outside of any
built-in function and may be triggered through syntactic production
directly. The current realm record is commonly interpreted incorrectly
under these circumstances.

Add tests asserting that the expected realm record is used when
constructing arrays.

* Add test for spec-created object

* fixup! Add tests for realm of spec-created Errors

* fixup! Add tests for realm of spec-created Errors

* fixup! Add tests for prototype realm inference

* fixup! Add tests for miscellaneous realm concerns
2016-10-24 10:43:17 -07:00
Jakob Gruber 81f66a5a3a Tests for new lastIndex semantics (#760)
* Tests for new lastIndex semantics

Add and update tests for the lastIndex semantic change introduced in
https://github.com/tc39/ecma262/pull/627.

* Address comments
2016-09-29 10:41:37 -07:00
Tom Care 8a6d7a49ee Merge pull request #711 from bocoup/audit2016-section-21-regexp
Improve coverage for section 21: RegExp
2016-08-04 16:22:18 -07:00
Mathias Bynens 3a5a09eba2 Ensure U+180E is no longer considered whitespace
Ref. https://hashseed.blogspot.com/2014/08/in-ecma-262-5.html
Ref. https://github.com/tc39/ecma262/pull/300#issuecomment-181376767
Ref. 9b10d2a597

Fix and add @anba’s U+180E tests
2016-07-06 10:11:32 -04:00
Mike Pennisi 4e781091f8 Improve tests for RegExp `lastIndex` property
The prior version of this test asserted only the property's
configurability. It was also limited to the RegExp object as returned
from the RegExp constructor.

Extend the test to verify all values of the property descriptor.
Duplicate these assertions in a separate file dedicated to the RegExp
object as created from a RegExp literal.
2016-06-29 17:29:43 -04:00
Mike Pennisi 1d0dbc5726 Assert absense of internal slot on RegExpPrototype
The previous commit removed two invalid tests designed to ensure that
the RegExpPrototype object is not itself a RegExp object. Introduce a
new test to assert this detail in a way that accounts for the
possibility of host extensions.
2016-06-29 17:29:42 -04:00
Mike Pennisi 9c3bb8d69e Remove invalid tests for %RegExpPrototype%
From ECMA262, section 16:

>  Except as restricted in 16.2, an implementation may provide
>  additional types, values, objects, properties, and functions beyond
>  those described in this specification.

Section 16.2 makes no mention of the `lastIndex` property of the
%RegExpPrototype% intrinsic. It is therefor not a violation to define
%such an "own" property.

Remove the tests that assert otherwise.
2016-06-29 17:29:42 -04:00
Mike Pennisi b9587262d4 Add tests for return value: 'get RegExp.p.source' 2016-06-29 17:29:42 -04:00
Mike Pennisi e1cd1e7f85 Update and tests for %RegExpPrototype% methods
A recent web-compatability change to ECMA262 modified the semantics of
the accessor methods on the %RegExpPrototype% intrinsic--the "get"
accessors now include steps dedicated to the case where the "this" value
is the %RegExpPrototype% object itself.

Remove the tests that have been invalidated by this change, introduce
tests asserting the new behavior, and extend coverage for other possible
"this" values.
2016-06-29 17:07:46 -04:00
jugglinmike d9d3f7cf4f Update RegExp tests (#614)
The RegExpBuiltinExec internal operation was modified in March of 2016
[1]: instead of referencing the `global` and `sticky` properties of the
"this" value, the algorithm now infers those values from the object's
[[OriginalFlags]] internal slot.

This change invalidated a number of tests. In cases where the change
resulted in an observable behavior, update the tests to assert the
latest specification text. In cases where the change removed a
previously-observable behavior, remove the files completely.

Specification text change set:

>        1. Assert: Type(_S_) is String.
>        1. Let _length_ be the number of code units in _S_.
>        1. Let _lastIndex_ be ? ToLength(? Get(_R_, `"lastIndex"`)).
>      - 1. Let _global_ be ToBoolean(? Get(_R_, `"global"`)).
>      - 1. Let _sticky_ be ToBoolean(? Get(_R_, `"sticky"`)).
>      + 1. Let _flags_ be the value of _R_'s [[OriginalFlags]] internal slot.
>      + 1. If _flags_ contains `"g"`, let _global_ be *true*, else let _global_ be *false*.
>      + 1. If _flags_ contains `"y"`, let _sticky_ be *true*, else let _sticky_ be *false*.
>        1. If _global_ is *false* and _sticky_ is *false*, let _lastIndex_ be 0.
>        1. Let _matcher_ be the value of _R_'s [[RegExpMatcher]] internal slot.
>      - 1. Let _flags_ be the value of _R_'s [[OriginalFlags]] internal slot.
>        1. If _flags_ contains `"u"`, let _fullUnicode_ be *true*, else let _fullUnicode_ be *false*.
>        1. Let _matchSucceeded_ be *false*.
>        1. Repeat, while _matchSucceeded_ is *false*

[1] https://github.com/tc39/ecma262/pull/494
2016-05-09 19:34:52 -04:00
Gorkem Yakin 85e6ab8e15 Merge branch 'bocoup/species-accessor-values' 2016-04-25 16:59:44 -07:00
Mike Pennisi b8e40a6f3f Add tests for return value of @@species accessors 2016-04-25 16:59:23 -07:00
Mike Pennisi eb644bb2da Reduce reliance on `fnGlobalObject.js`
This harness function is not necessary in the majority of cases in which
it is used. Remove its usage to simplify tests and decrease the amount
of domain-specific knowledge necessary to contribute to the test suite.

Persist the harness function itself for use by future tests for ES2015
modules (such a helper is necessary for tests that are interpreted as
module code).
2016-04-25 11:09:21 -07:00
Leonardo Balter bf782c8421 s/id/esid
Fixes #477
2016-02-22 09:47:42 -05:00
Leonardo Balter ebda746e6a Replace es7id tags with id 2016-02-12 16:22:56 -08:00
André Bargull ca61d9b876 Add missing tests for "length" and "name" properties of built-in functions
Note: Already uses the updated DataView function lengths from tc39/ecma262#266 (ES2016 Draft 2015-12-20)
2016-01-15 18:12:05 +01:00
André Bargull 5e3eed63b9 Move Symbol.species and AnnexB tests to new subfolders 2016-01-15 18:11:03 +01:00
André Bargull b62dccf1dc Add test cases for recent ES2016 fixes
- lastIndex in RegExp.prototype[Symbol.split]: tc39/ecma262@08b4756747
- Missing number conversion in DataView.prototype.setXXX: tc39/ecma262@4f875fe96d
- Negative zero byteoffset in TypedArray: tc39/ecma262@2d1ed20db7
- EvalDeclarationInstantiation throws TypeError: tc39/ecma262@2be6968715
- BindingRestElement allows BindingPattern: tc39/ecma262@d322357e6b
- Eval in parameters with computed property keys: tc39/ecma262@04e2e9b719
- Use strict with non-simple parameters: tc39/ecma262@15b0db41ed
- __proto__ in strict mode: tc39/ecma262@5c1984334d
2015-12-15 17:33:49 +01:00
André Bargull bd8c91e250 Updates for ES2016 Draft 2015-12-01
- RegExp.prototype[Symbol.split] calls ToUint32 (https://github.com/tc39/ecma262/issues/92)
- Species lookup removed from Promise.all and Promise.race (https://github.com/tc39/ecma262/issues/151)
- Generator functions are no longer constructors (https://github.com/tc39/ecma262/pull/171)

Fixes #444
2015-12-02 18:07:06 +01:00
Gorkem Yakin df1d78d10f Merge pull request #399 from bocoup/symbol-match
Add tests for @@match
2015-09-14 14:29:28 -07:00
Mike Pennisi 62d5787b09 Add tests for @@match
Introduce tests for the well-known Symbol, `@@match`. This effects the
behavior of `String.prototype.match` and is also used by the IsRegExp
abstract operation.
2015-09-14 17:16:37 -04:00