diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-flags-u.js index c838bca61558c462b332e458156e5a925efab7f2..de3c16f4e5465261fbcf51aeda6c50bacda3c0bb 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-flags-u.js @@ -37,21 +37,21 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x0030, 0x0039], + ], +}); const re = /\d/ug; -const matchingRange = /[0-9]/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier-flags-u.js index ac598b437d03da60cbba6b541f2e4289203fa2db..1c6462e7666250d9384c046cb2b3845721b99aa1 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier-flags-u.js @@ -37,21 +37,21 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x0030, 0x0039], + ], +}); const re = /\d+/ug; -const matchingRange = /[0-9]+/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier.js index f2dcbe46e9a086ed889595d71f3a3c361e0d1dad..66418758b7b4bab2cf3da375a5dbb0cbb5cca116 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape-plus-quantifier.js @@ -37,21 +37,21 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x0030, 0x0039], + ], +}); const re = /\d+/g; -const matchingRange = /[0-9]+/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape.js index 78dd8e936e7d468d9abf3c5dc143b5b9f2184d27..090e5a7e9a5f13d2a0fd23255c9ee584d6e7d40d 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-digit-class-escape.js @@ -37,21 +37,21 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x0030, 0x0039], + ], +}); const re = /\d/g; -const matchingRange = /[0-9]/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u.js index a8102a0350a21766966ac4b0e554fffe0cad79be..e9385c00043b8860bf6bbf856d87d58656a3340d 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u.js @@ -37,21 +37,22 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00002F], + [0x00003A, 0x10FFFF], + ], +}); const re = /\D/ug; -const matchingRange = /[\0-\/:-\u{10FFFF}]/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier-flags-u.js index eae375fa0778fe1267a24115a5586f45c999ede1..bf534de854a9a68184296c56118881def4c2be74 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier-flags-u.js @@ -37,21 +37,22 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00002F], + [0x00003A, 0x10FFFF], + ], +}); const re = /\D+/ug; -const matchingRange = /[\0-\/:-\u{10FFFF}]+/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier.js index e904d4a37c0616f7998be1cb05b37dd6d0aefaae..0c2c703ae8de6a3752b53b17cf4fca334ae60efc 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier.js @@ -37,21 +37,22 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00002F], + [0x00003A, 0x00FFFF], + ], +}); const re = /\D+/g; -const matchingRange = /[\0-\/:-\uFFFF]+/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape.js index 5b875ad9796f140ab2208d6d4808645c340b09bc..ac626beb49c4768429969c7ca209aa2e91b89446 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape.js @@ -37,21 +37,22 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x000000, 0x00002F], + [0x00003A, 0x00FFFF], + ], +}); const re = /\D/g; -const matchingRange = /[\0-\/:-\uFFFF]/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u.js index c556f97227a9d4bd660efa1a18a63b95d24d96de..d635f47092d4ccca7a0912698180025ba78dc0e2 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u.js @@ -37,21 +37,33 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000008], + [0x00000E, 0x00001F], + [0x000021, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x002027], + [0x00202A, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x00FEFE], + [0x00FF00, 0x10FFFF], + ], +}); const re = /\S/ug; -const matchingRange = /[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier-flags-u.js index 4d41030e60d2cebf52e747027962d463075f5129..1275d209c9e260e5ad4fafa6f7f7e0ca8f026731 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier-flags-u.js @@ -37,21 +37,33 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000008], + [0x00000E, 0x00001F], + [0x000021, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x002027], + [0x00202A, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x00FEFE], + [0x00FF00, 0x10FFFF], + ], +}); const re = /\S+/ug; -const matchingRange = /[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]+/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier.js index 1e3693d73c9186347a14a6ed084e4a34b6538093..f70d16c78f743d54f9537ecdc9f40f1f9efb4709 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier.js @@ -37,21 +37,33 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000008], + [0x00000E, 0x00001F], + [0x000021, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x002027], + [0x00202A, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x00FEFE], + [0x00FF00, 0x00FFFF], + ], +}); const re = /\S+/g; -const matchingRange = /[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\uFFFF]+/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape.js index aef69487e5fac44391a65d7e3f47dad9ca732634..a605b0b132cc9fd59aeb79c6e008ff50655c2170 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape.js @@ -37,21 +37,33 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x000008], + [0x00000E, 0x00001F], + [0x000021, 0x00009F], + [0x0000A1, 0x00167F], + [0x001681, 0x001FFF], + [0x00200B, 0x002027], + [0x00202A, 0x00202E], + [0x002030, 0x00205E], + [0x002060, 0x002FFF], + [0x003001, 0x00DBFF], + [0x00E000, 0x00FEFE], + [0x00FF00, 0x00FFFF], + ], +}); const re = /\S/g; -const matchingRange = /[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\uFFFF]/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u.js index 3d69a295ff5be8cabd027a2c41f0f556c443ddc5..9eb98145d1516179bd64dc256ad59d2e1ecb8ff0 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u.js @@ -37,21 +37,26 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [0x000060], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x00DBFF], + [0x00E000, 0x10FFFF], + ], +}); const re = /\W/ug; -const matchingRange = /[\0-\/:-@\[-\^`\{-\u{10FFFF}]/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier-flags-u.js index 04d42ba10ebc3c102b51146113f17cc8a8af6e29..080aeec12f33c2744137f8164a8caf7c0442ec3f 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier-flags-u.js @@ -37,21 +37,26 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [0x000060], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x00DBFF], + [0x00E000, 0x10FFFF], + ], +}); const re = /\W+/ug; -const matchingRange = /[\0-\/:-@\[-\^`\{-\u{10FFFF}]+/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier.js index 42c283add94f7fdbf2b4319fce3e41f107ea679d..8b04bdf9270183bf8a11a83de9b44c5d8a0bdf90 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier.js @@ -37,21 +37,26 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [0x000060], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x00DBFF], + [0x00E000, 0x00FFFF], + ], +}); const re = /\W+/g; -const matchingRange = /[\0-\/:-@\[-\^`\{-\uFFFF]+/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape.js index 7a153a68dc8f7c126b5d7aaef7fba090e358972e..477df9f72e5b1adde01b35cce6fd31d4cee1c666 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape.js @@ -37,21 +37,26 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [0x000060], + ranges: [ + [0x00DC00, 0x00DFFF], + [0x000000, 0x00002F], + [0x00003A, 0x000040], + [0x00005B, 0x00005E], + [0x00007B, 0x00DBFF], + [0x00E000, 0x00FFFF], + ], +}); const re = /\W/g; -const matchingRange = /[\0-\/:-@\[-\^`\{-\uFFFF]/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-flags-u.js index e9afee2a980336f8e132cde3217d216649d57e03..185e25dcb263b03c7b2f51e7fbd4d7b9632e5479 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-flags-u.js @@ -37,21 +37,31 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [ + 0x000020, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000, + 0x00FEFF, + ], + ranges: [ + [0x000009, 0x00000D], + [0x002000, 0x00200A], + [0x002028, 0x002029], + ], +}); const re = /\s/ug; -const matchingRange = /[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier-flags-u.js index 696ae4a3d3cb030c819fe975b09ef5c22e14db8c..1a9bdf0d7f6181f66daa25a202560f7298f0cbf7 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier-flags-u.js @@ -37,21 +37,31 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [ + 0x000020, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000, + 0x00FEFF, + ], + ranges: [ + [0x000009, 0x00000D], + [0x002000, 0x00200A], + [0x002028, 0x002029], + ], +}); const re = /\s+/ug; -const matchingRange = /[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier.js index b0717963d2a801bc81fde58c4c75403295b09006..0d10492a9eefe8d958be06176d73de0835dddab9 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape-plus-quantifier.js @@ -37,21 +37,31 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [ + 0x000020, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000, + 0x00FEFF, + ], + ranges: [ + [0x000009, 0x00000D], + [0x002000, 0x00200A], + [0x002028, 0x002029], + ], +}); const re = /\s+/g; -const matchingRange = /[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape.js index 9d16ed897f5fbbc7846b88b758f5c19cc0dc6b18..1d024382a5e4b8e7a9f54279473e07aad973a67b 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-whitespace-class-escape.js @@ -37,21 +37,31 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [ + 0x000020, + 0x0000A0, + 0x001680, + 0x00202F, + 0x00205F, + 0x003000, + 0x00FEFF, + ], + ranges: [ + [0x000009, 0x00000D], + [0x002000, 0x00200A], + [0x002028, 0x002029], + ], +}); const re = /\s/g; -const matchingRange = /[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-flags-u.js index a5e8dd8cc5fa9e529ea8b019a8119c400cbb8d17..9bc78b3408b09c2399dd81ec518671c9dc6a545d 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-flags-u.js @@ -37,21 +37,23 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [0x00005F], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + ], +}); const re = /\w/ug; -const matchingRange = /[0-9A-Z_a-z]/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier-flags-u.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier-flags-u.js index 535383115d1537637d4f640041487383365d3634..6ce6c2c781cab0c36926f1510d111345ec7dbf2c 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier-flags-u.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier-flags-u.js @@ -37,21 +37,23 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0x10FFFF]] }); +const str = buildString({ + loneCodePoints: [0x00005F], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + ], +}); const re = /\w+/ug; -const matchingRange = /[0-9A-Z_a-z]+/ug; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier.js index 15c67f8d81c675fdfc6153fe63b4673447d6593e..a80b5c7336de5c308dff34b75f52383983396c97 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape-plus-quantifier.js @@ -37,21 +37,23 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [0x00005F], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + ], +}); const re = /\w+/g; -const matchingRange = /[0-9A-Z_a-z]+/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } } diff --git a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape.js b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape.js index b058590c78c02176cfee1ac0193aebec14243f80..879c9ae3403baa84908ae338d5a59ab02ea0a368 100644 --- a/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape.js +++ b/test/built-ins/RegExp/CharacterClassEscapes/character-class-word-class-escape.js @@ -37,21 +37,23 @@ features: [String.fromCodePoint] includes: [regExpUtils.js] ---*/ -const str = buildString({ loneCodePoints: [], ranges: [[0, 0xFFFF]] }); +const str = buildString({ + loneCodePoints: [0x00005F], + ranges: [ + [0x000030, 0x000039], + [0x000041, 0x00005A], + [0x000061, 0x00007A], + ], +}); const re = /\w/g; -const matchingRange = /[0-9A-Z_a-z]/g; const errors = []; -function matching(str) { - return str.replace(re, '') === str.replace(matchingRange, ''); -} - -if (!matching(str)) { +if (!re.test(str)) { // Error, let's find out where for (const char of str) { - if (!matching(char)) { + if (!re.test(char)) { errors.push('0x' + char.codePointAt(0).toString(16)); } }