tor-browser

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

string-lastIndexOf.js (1459B)


      1 function testEmpty() {
      2  var strings = [
      3    "",
      4    "a",
      5    "ab",
      6  ];
      7 
      8  for (var i = 0; i < 200; ++i) {
      9    var str = strings[i % strings.length];
     10    assertEq(str.lastIndexOf(""), str.length);
     11  }
     12 }
     13 testEmpty();
     14 
     15 function testSingle() {
     16  var strings = [
     17    "",
     18 
     19    "a",
     20    "b",
     21 
     22    "aa",
     23    "ab",
     24    "ba",
     25    "bb",
     26  ];
     27 
     28  var searchStrings = [
     29    "a",
     30    "b",
     31  ];
     32 
     33  for (var i = 0; i < 200; ++i) {
     34    var str = strings[i % strings.length];
     35    var searchString = searchStrings[i % searchStrings.length];
     36 
     37    var j = str.length;
     38    while (--j >= 0 && str[j] !== searchString);
     39 
     40    assertEq(str.lastIndexOf(searchString), j);
     41  }
     42 }
     43 testSingle();
     44 
     45 function testDouble() {
     46  var strings = [
     47    "",
     48 
     49    "a",
     50    "b",
     51 
     52    "aa",
     53    "ab",
     54    "ba",
     55    "bb",
     56 
     57    "aaa",
     58    "aab",
     59    "aba",
     60    "abb",
     61    "baa",
     62    "bab",
     63    "bba",
     64    "bbb",
     65 
     66    "aaaa",
     67    "aaab",
     68    "aaba",
     69    "aabb",
     70    "abaa",
     71    "abab",
     72    "abba",
     73    "abbb",
     74 
     75    "baaa",
     76    "baab",
     77    "baba",
     78    "babb",
     79    "bbaa",
     80    "bbab",
     81    "bbba",
     82    "bbbb",
     83  ];
     84 
     85  var searchStrings = [
     86    "aa",
     87    "ab",
     88    "ba",
     89    "bb",
     90  ];
     91 
     92  for (var i = 0; i < 200; ++i) {
     93    var str = strings[i % strings.length];
     94    var searchString = searchStrings[i % searchStrings.length];
     95 
     96    var j = str.length;
     97    while (--j >= 0 && (str[j] !== searchString[0] || str[j + 1] !== searchString[1]));
     98 
     99    assertEq(str.lastIndexOf(searchString), j);
    100  }
    101 }
    102 testDouble();