legacy-features-enabled.js (833B)
1 // |jit-test| --enable-legacy-regexp 2 function testLegacyFeaturesEnabled(re, str) { 3 for (let i = 0; i < 100; i++){ 4 re.test(str); 5 } 6 } 7 8 { 9 class MyRegExp extends RegExp {} 10 11 var re1 = /a(b)c/; 12 testLegacyFeaturesEnabled(re1, "abc"); 13 assertEq(RegExp.$1, "b"); 14 15 var re2 = new MyRegExp("d(e)f"); 16 testLegacyFeaturesEnabled(re2, "def"); 17 18 var threw = false; 19 try { 20 RegExp.$1; 21 } catch(e) { 22 threw = true; 23 assertEq(e instanceof TypeError, true); 24 } 25 } 26 27 { 28 var other = newGlobal(); 29 other.eval("var re = /x(y)z/;"); 30 31 var re = other.re; 32 testLegacyFeaturesEnabled(re, "xyz"); 33 34 var threw = false; 35 try { 36 RegExp.$1; 37 } catch(e) { 38 threw = true; 39 assertEq(e instanceof TypeError, true); 40 } 41 42 assertEq(threw, true); 43 }