1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 08:35:07 +00:00
serenity/Userland/Libraries/LibJS/Tests/builtins/RegExp
Linus Groh 83c29bd8d7 LibJS: Don't assume match for each capture group in RegExp.prototype.exec()
This was not implementing the following part of the spec correctly:

    27. For each integer i such that i ≥ 1 and i ≤ n, do
        a. Let captureI be ith element of r's captures List.
        b. If captureI is undefined, let capturedValue be undefined.

Expecting a capture group match to exist for each of the RegExp's
capture groups would assert in Vector's operator[] if that's not the
case, for example:

    /(foo)(bar)?/.exec("foo")

Append undefined instead.

Fixes #5256.
2021-02-08 18:01:23 +01:00
..
RegExp.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RegExp.prototype.exec.js LibJS: Don't assume match for each capture group in RegExp.prototype.exec() 2021-02-08 18:01:23 +01:00
RegExp.prototype.flags.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RegExp.prototype.source.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RegExp.prototype.test.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
RegExp.prototype.toString.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00