Skip to content

Commit f4fde99

Browse files
authored
feat(ecmascript): Make RegExp always match in unicode mode (#832)
1 parent 7a6e190 commit f4fde99

File tree

4 files changed

+5
-9
lines changed

4 files changed

+5
-9
lines changed

nova_vm/src/ecmascript/builtins/regexp/data.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ impl<'a> RegExpHeapData<'a> {
135135
RegexBuilder::new(pattern)
136136
.dot_matches_new_line((flags & RegExpFlags::M).bits() > 0)
137137
.case_insensitive((flags & RegExpFlags::I).bits() > 0)
138-
.unicode((flags & (RegExpFlags::U | RegExpFlags::V)).bits() > 0)
138+
.unicode(true)
139139
.dot_matches_new_line((flags & RegExpFlags::S).bits() > 0)
140140
.octal(false) // TODO: !strict
141141
.build()

nova_vm/src/ecmascript/execution/environments.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,9 +1119,6 @@ impl Environments {
11191119
&self,
11201120
index: DeclarativeEnvironment,
11211121
) -> &DeclarativeEnvironmentRecord {
1122-
if self.declarative.get(index.into_index()).is_none() {
1123-
eprintln!("env: {index:?}");
1124-
}
11251122
self.declarative
11261123
.get(index.into_index())
11271124
.expect("DeclarativeEnvironment did not match to any vector index")

tests/expectations.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1826,7 +1826,6 @@
18261826
"built-ins/Reflect/ownKeys/return-on-corresponding-order-large-index.js": "FAIL",
18271827
"built-ins/RegExp/S15.10.2.10_A2.1_T1.js": "FAIL",
18281828
"built-ins/RegExp/S15.10.2.10_A2.1_T2.js": "FAIL",
1829-
"built-ins/RegExp/S15.10.2.10_A3.1_T1.js": "FAIL",
18301829
"built-ins/RegExp/S15.10.2.10_A5.1_T1.js": "FAIL",
18311830
"built-ins/RegExp/S15.10.2.11_A1_T1.js": "FAIL",
18321831
"built-ins/RegExp/S15.10.2.11_A1_T4.js": "FAIL",
@@ -2452,7 +2451,7 @@
24522451
"built-ins/String/prototype/localeCompare/15.5.4.9_CE.js": "FAIL",
24532452
"built-ins/String/prototype/match/duplicate-named-groups-properties.js": "FAIL",
24542453
"built-ins/String/prototype/match/duplicate-named-indices-groups-properties.js": "FAIL",
2455-
"built-ins/String/prototype/match/regexp-prototype-match-v-u-flag.js": "CRASH",
2454+
"built-ins/String/prototype/match/regexp-prototype-match-v-u-flag.js": "FAIL",
24562455
"built-ins/String/prototype/matchAll/regexp-prototype-matchAll-v-u-flag.js": "FAIL",
24572456
"built-ins/String/prototype/replace/S15.5.4.11_A5_T1.js": "FAIL",
24582457
"built-ins/String/prototype/replace/regexp-capture-by-index.js": "FAIL",
@@ -7633,6 +7632,7 @@
76337632
"language/literals/regexp/named-groups/invalid-unterminated-groupspecifier-u.js": "FAIL",
76347633
"language/literals/regexp/named-groups/invalid-unterminated-groupspecifier.js": "FAIL",
76357634
"language/literals/regexp/u-astral.js": "FAIL",
7635+
"language/literals/regexp/u-case-mapping.js": "FAIL",
76367636
"language/literals/regexp/u-invalid-class-escape.js": "FAIL",
76377637
"language/literals/regexp/u-invalid-extended-pattern-char.js": "FAIL",
76387638
"language/literals/regexp/u-invalid-identity-escape.js": "FAIL",
@@ -8353,7 +8353,6 @@
83538353
"staging/sm/RegExp/exec.js": "FAIL",
83548354
"staging/sm/RegExp/flags-param-handling.js": "FAIL",
83558355
"staging/sm/RegExp/flags.js": "FAIL",
8356-
"staging/sm/RegExp/ignoreCase-multiple.js": "FAIL",
83578356
"staging/sm/RegExp/ignoreCase-non-latin1-to-latin1.js": "FAIL",
83588357
"staging/sm/RegExp/instance-property-storage-introspection.js": "FAIL",
83598358
"staging/sm/RegExp/lastIndex-exec.js": "FAIL",

tests/metrics.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"results": {
3-
"crash": 106,
3+
"crash": 105,
44
"fail": 8528,
5-
"pass": 38611,
5+
"pass": 38612,
66
"skip": 3310,
77
"timeout": 9,
88
"unresolved": 30

0 commit comments

Comments
 (0)