NEW 272206
Need to call flags and unicode getters in RegExp.prototype[Symbol.match]
https://bugs.webkit.org/show_bug.cgi?id=272206
Summary Need to call flags and unicode getters in RegExp.prototype[Symbol.match]
Sosuke Suzuki
Reported 2024-04-04 20:56:44 PDT
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); ```
Attachments
Sosuke Suzuki
Comment 1 2024-04-04 20:59:39 PDT
Radar WebKit Bug Importer
Comment 2 2024-04-11 20:57:14 PDT
Note You need to log in before you can comment on or make changes to this bug.