[Webkit-unassigned] [Bug 272206] New: Need to call flags and unicode getters in RegExp.prototype[Symbol.match]
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Apr 4 20:56:44 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=272206
Bug ID: 272206
Summary: Need to call flags and unicode getters in
RegExp.prototype[Symbol.match]
Product: WebKit
Version: WebKit Local Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: aosukeke at gmail.com
According to the spec[1], RegExp.prototype[Symbol.match] calls the flags getter and the unicode getter.
However, the current implementation does not work that way. This causes some test262 test cases to fail:
- test/built-ins/RegExp/prototype/Symbol.match/flags-tostring-error.js
- test/built-ins/RegExp/prototype/Symbol.match/get-flags-err.js
- test/built-ins/RegExp/prototype/Symbol.match/get-unicode-error.js
[1]: https://tc39.es/ecma262/#sec-regexp.prototype-@@match
poc:
```js
function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
}
const re = /./;
let flagsCount = 0;
let unicodeCount = 0;
Object.defineProperties(re, {
flags: {
get() {
flagsCount++;
return '';
}
},
unicode: {
get() {
unicodeCount++;
return false;
}
}
});
for (let i = 0; i < 1e3; i++) {
re[Symbol.match]('');
}
shouldBe(flagsCount, 1e3);
shouldBe(unicodeCount, 1e3);
```
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240405/9b81e14c/attachment.htm>
More information about the webkit-unassigned
mailing list