tor-browser

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

match-indices-dictionary-duplicate-groups.js (742B)


      1 // |jit-test| skip-if: getBuildConfiguration("wasi")
      2 var s = "";
      3 var input = "";
      4 for (var i = 0; i < 500; ++i) {
      5    s += "((?<a" + i + ">a)?|(?<a" + i + ">A)?)?";
      6    s += "(?<b" + i + ">b)?";
      7    if (i % 2) {
      8      input += "a";
      9    } else {
     10      input += "A";
     11    }
     12 }
     13 
     14 try {
     15  var r = RegExp(s, "d");
     16  var e = r.exec(input);
     17 
     18  for (var i = 0; i < 500; i++) {
     19    if (i % 2) {
     20      assertEq(e.groups["a" + i], "a");
     21    } else {
     22      assertEq(e.groups["a" + i], "A");
     23    }
     24    assertEq(e.groups["b" + i], undefined);
     25 
     26    assertEq(e.indices.groups["a" + i][0], i)
     27    assertEq(e.indices.groups["a" + i][1], i + 1)
     28    assertEq(e.indices.groups["b" + i], undefined)
     29  }
     30 } catch (err) {
     31  assertEq(err.message, "too much recursion");
     32 }