tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }