Index: test/mjsunit/harmony/regexp-named-captures.js |
diff --git a/test/mjsunit/harmony/regexp-named-captures.js b/test/mjsunit/harmony/regexp-named-captures.js |
index e4de7b00c8db9ea7f63d14f8fb4c5dc86e8b220c..67d62728eff82a91e88f76366121f3d4dce78d51 100644 |
--- a/test/mjsunit/harmony/regexp-named-captures.js |
+++ b/test/mjsunit/harmony/regexp-named-captures.js |
@@ -97,6 +97,12 @@ assertThrows('/(?<𐒤>a)/u', SyntaxError); // ID_Continue but not ID_Start. |
assertEquals(undefined, /(?<a>.)/u.exec("a").groups.__proto__); |
assertEquals("a", /(?<__proto__>a)/u.exec("a").groups.__proto__); |
+// Backreference before the group (exercises the capture mini-parser). |
+assertThrows("/\\1(?:.)/u", SyntaxError); |
+assertThrows("/\\1(?<=a)./u", SyntaxError); |
+assertThrows("/\\1(?<!a)./u", SyntaxError); |
+assertEquals(["a", "a"], /\1(?<a>.)/u.exec("abcd")); |
+ |
// @@replace with a callable replacement argument (no named captures). |
{ |
let result = "abcd".replace(/(.)(.)/u, (match, fst, snd, offset, str) => { |