duplicate-named-capture.js (1175B)
1 load(libdir + "asserts.js"); 2 3 function test(src) { 4 assertThrowsInstanceOf(() => eval(src), SyntaxError); 5 } 6 7 test('/(?<a>.)(?<a>.)/'); 8 test('/((?<a>.)(?<a>.))/'); 9 test('/(?<a>.)((?<a>.))/'); 10 test('/((?<a>.))(?<a>.)/'); 11 test('/(?<a>.)(?:.|(?<a>.)/'); 12 test('/(?<a>.)(?:.|(?<a>.)/'); 13 test('/(?<a>.)(?:(.)|(?<a>.)/'); 14 test('/(?<a>.)(?:(?:.)|(?<a>.)/'); 15 test('/(?<a>.)((?<a>.)|(?<b>.))/'); 16 test('/(?<b>.)((?<a>.)|(?<b>.))/'); 17 test('/((?<a>.)|(?<b>.))(?<a>.)/'); 18 test('/((?<a>.)|(?<b>.))(?<b>.)/'); 19 test('/((?<a>.)|((?<b>.)|(?<c>.))(?<b>.)/'); 20 test('/((?<a>.)|((?<b>.)|(?<c>.))(?<c>.)/'); 21 test('/x(?<a>.)((((?<a>.)|(?<a>.))|(?<a>.)|(?<a>.))|(?<a>.))|(?<a>.)y/'); 22 test('/x((?<a>.)(((?<a>.)|(?<a>.))|(?<a>.)|(?<a>.))|(?<a>.))|(?<a>.)y/'); 23 test('/x(((?<a>.)((?<a>.)|(?<a>.))|(?<a>.)|(?<a>.))|(?<a>.))|(?<a>.)y/'); 24 test('/x((((?<a>.)(?<a>.)|(?<a>.))|(?<a>.)|(?<a>.))|(?<a>.))|(?<a>.)y/'); 25 test('/x(?<a>.)|((?<a>.)|(?<a>.)|((?<a>.)|((?<a>.)|(?<a>.)(?<a>.))))y/'); 26 test('/x(?<a>.)|((?<a>.)|(?<a>.)|((?<a>.)|((?<a>.)|(?<a>.))(?<a.)))y/'); 27 test('/x(?<a>.)|((?<a>.)|(?<a>.)|((?<a>.)|((?<a>.)|(?<a>.)))(?<a>.))y/'); 28 test('/x(?<a>.)|((?<a>.)|(?<a>.)|((?<a>.)|((?<a>.)|(?<a>.))))(?<a>.)y/');