tor-browser

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

compare-string.js (3677B)


      1 function compareToAtom(a) {
      2    return a == 'test-test-test-test-test-test-test-test';
      3 }
      4 
      5 function compareToAtomStrict(a) {
      6    return a === 'test-test-test-test-test-test-test-test';
      7 }
      8 
      9 function compareToAtomNe(a) {
     10    return a != 'test-test-test-test-test-test-test-test';
     11 }
     12 
     13 function compareToAtomNeStrict(a) {
     14    return a !== 'test-test-test-test-test-test-test-test';
     15 }
     16 
     17 function compareToAtomLessThan(a) {
     18    return a < 'test-test-test-test-test-test-test-test';
     19 }
     20 
     21 function compareToAtomLessThanOrEquals(a) {
     22    return a <= 'test-test-test-test-test-test-test-test';
     23 }
     24 
     25 function compareToAtomGreaterThan(a) {
     26    return a > 'test-test-test-test-test-test-test-test';
     27 }
     28 
     29 function compareToAtomGreaterThanOrEquals(a) {
     30    return a >= 'test-test-test-test-test-test-test-test';
     31 }
     32 
     33 var st = 'st-test-test-test-test-test-test-test';
     34 
     35 function compareToRope(a) {
     36    return a == ('te' + st);
     37 }
     38 
     39 function compareToRopeStrict(a) {
     40    return a === ('te' + st);
     41 }
     42 
     43 function compareToRopeNe(a) {
     44    var st = 'st-test-test-test-test-test-test-test';
     45    return a != ('te' + st);
     46 }
     47 
     48 function compareToRopeNeStrict(a) {
     49    var st = 'st-test-test-test-test-test-test-test';
     50    return a !== ('te' + st);
     51 }
     52 
     53 function compareToRopeLessThan(a) {
     54    var st = 'st-test-test-test-test-test-test-test';
     55    return a < ('te' + st);
     56 }
     57 
     58 function compareToRopeLessThanOrEquals(a) {
     59    var st = 'st-test-test-test-test-test-test-test';
     60    return a <= ('te' + st);
     61 }
     62 
     63 function compareToRopeGreaterThan(a) {
     64    var st = 'st-test-test-test-test-test-test-test';
     65    return a > ('te' + st);
     66 }
     67 
     68 function compareToRopeGreaterThanOrEquals(a) {
     69    var st = 'st-test-test-test-test-test-test-test';
     70    return a >= ('te' + st);
     71 }
     72 
     73 function main() {
     74    // |test| must be longer than |JSFatInlineString::MAX_LENGTH_LATIN1| to
     75    // ensure the above functions create ropes when concatenating strings.
     76    var test = 'test-test-test-test-test-test-test-test';
     77    var foobar = 'foobar';
     78 
     79    assertEq(compareToAtom(test), true);
     80    assertEq(compareToAtom(foobar), false);
     81 
     82    assertEq(compareToAtomStrict(test), true);
     83    assertEq(compareToAtomStrict(foobar), false);
     84 
     85    assertEq(compareToAtomNe(test), false);
     86    assertEq(compareToAtomNe(foobar), true);
     87 
     88    assertEq(compareToAtomNeStrict(test), false);
     89    assertEq(compareToAtomNeStrict(foobar), true);
     90 
     91    assertEq(compareToAtomLessThan(test), false);
     92    assertEq(compareToAtomLessThan(foobar), true);
     93 
     94    assertEq(compareToAtomLessThanOrEquals(test), true);
     95    assertEq(compareToAtomLessThanOrEquals(foobar), true);
     96 
     97    assertEq(compareToAtomGreaterThan(test), false);
     98    assertEq(compareToAtomGreaterThan(foobar), false);
     99 
    100    assertEq(compareToAtomGreaterThanOrEquals(test), true);
    101    assertEq(compareToAtomGreaterThanOrEquals(foobar), false);
    102 
    103 
    104    assertEq(compareToRope(test), true);
    105    assertEq(compareToRope(foobar), false);
    106 
    107    assertEq(compareToRopeStrict(test), true);
    108    assertEq(compareToRopeStrict(foobar), false);
    109 
    110    assertEq(compareToRopeNe(test), false);
    111    assertEq(compareToRopeNe(foobar), true);
    112 
    113    assertEq(compareToRopeNeStrict(test), false);
    114    assertEq(compareToRopeNeStrict(foobar), true);
    115 
    116    assertEq(compareToRopeLessThan(test), false);
    117    assertEq(compareToRopeLessThan(foobar), true);
    118 
    119    assertEq(compareToRopeLessThanOrEquals(test), true);
    120    assertEq(compareToRopeLessThanOrEquals(foobar), true);
    121 
    122    assertEq(compareToRopeGreaterThan(test), false);
    123    assertEq(compareToRopeGreaterThan(foobar), false);
    124 
    125    assertEq(compareToRopeGreaterThanOrEquals(test), true);
    126    assertEq(compareToRopeGreaterThanOrEquals(foobar), false);
    127 }
    128 
    129 for (var i = 0; i < 10000; i++) {
    130    main();
    131 }