tor-browser

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

flag-getters.js (1629B)


      1 // Test inlining for RegExp flag getters.
      2 
      3 function testGlobal() {
      4  const xs = [/a/, /b/g];
      5 
      6  for (let i = 0; i < 200; ++i) {
      7    let x = xs[i & 1];
      8    assertEq(x.global, !!(i & 1));
      9  }
     10 }
     11 for (let i = 0; i < 2; ++i) testGlobal();
     12 
     13 function testHasIndices() {
     14  const xs = [/a/, /b/d];
     15 
     16  for (let i = 0; i < 200; ++i) {
     17    let x = xs[i & 1];
     18    assertEq(x.hasIndices, !!(i & 1));
     19  }
     20 }
     21 for (let i = 0; i < 2; ++i) testHasIndices();
     22 
     23 function testIgnoreCase() {
     24  const xs = [/a/, /b/i];
     25 
     26  for (let i = 0; i < 200; ++i) {
     27    let x = xs[i & 1];
     28    assertEq(x.ignoreCase, !!(i & 1));
     29  }
     30 }
     31 for (let i = 0; i < 2; ++i) testIgnoreCase();
     32 
     33 function testMultiline() {
     34  const xs = [/a/, /b/m];
     35 
     36  for (let i = 0; i < 200; ++i) {
     37    let x = xs[i & 1];
     38    assertEq(x.multiline, !!(i & 1));
     39  }
     40 }
     41 for (let i = 0; i < 2; ++i) testMultiline();
     42 
     43 function testDotAll() {
     44  const xs = [/a/, /b/s];
     45 
     46  for (let i = 0; i < 200; ++i) {
     47    let x = xs[i & 1];
     48    assertEq(x.dotAll, !!(i & 1));
     49  }
     50 }
     51 for (let i = 0; i < 2; ++i) testDotAll();
     52 
     53 function testUnicode() {
     54  const xs = [/a/, /b/u];
     55 
     56  for (let i = 0; i < 200; ++i) {
     57    let x = xs[i & 1];
     58    assertEq(x.unicode, !!(i & 1));
     59  }
     60 }
     61 for (let i = 0; i < 2; ++i) testUnicode();
     62 
     63 function testUnicodeSets() {
     64  const xs = [/a/, /b/v];
     65 
     66  for (let i = 0; i < 200; ++i) {
     67    let x = xs[i & 1];
     68    assertEq(x.unicodeSets, !!(i & 1));
     69  }
     70 }
     71 for (let i = 0; i < 2; ++i) testUnicodeSets();
     72 
     73 function testSticky() {
     74  const xs = [/a/, /b/y];
     75 
     76  for (let i = 0; i < 200; ++i) {
     77    let x = xs[i & 1];
     78    assertEq(x.sticky, !!(i & 1));
     79  }
     80 }
     81 for (let i = 0; i < 2; ++i) testSticky();