summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/regexp/bug1640473.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/regexp/bug1640473.js')
-rw-r--r--js/src/jit-test/tests/regexp/bug1640473.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/regexp/bug1640473.js b/js/src/jit-test/tests/regexp/bug1640473.js
new file mode 100644
index 0000000000..d2ba97043d
--- /dev/null
+++ b/js/src/jit-test/tests/regexp/bug1640473.js
@@ -0,0 +1,20 @@
+// |jit-test| skip-if: getBuildConfiguration("wasi")
+var s = "";
+var input = "";
+for (var i = 0; i < 500; ++i) {
+ s += "(?<a" + i + ">a)";
+ s += "(?<b" + i + ">b)?";
+ input += "a";
+}
+
+try {
+ var r = RegExp(s);
+ var e = r.exec(input);
+
+ for (var i = 0; i < 500; i++) {
+ assertEq(e.groups["a" + i], "a");
+ assertEq(e.groups["b" + i], undefined);
+ }
+} catch (err) {
+ assertEq(err.message, "too much recursion");
+}