tor-browser

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

string-index.js (2006B)


      1 function basic() {
      2    var zero = "0";
      3    var one  = "1";
      4    var thousand = String(1000);
      5    var max = String(0xffff);
      6 
      7    assertEq(zero, "0");
      8    assertEq(Number(zero), 0);
      9    assertEq(String(Number(zero)), "0");
     10 
     11    assertEq(one, "1");
     12    assertEq(Number(one), 1);
     13    assertEq(String(Number(one)), "1");
     14 
     15    assertEq(thousand, "1000");
     16    assertEq(Number(thousand), 1000);
     17    assertEq(String(Number(thousand)), "1000");
     18 
     19    assertEq(max, "65535");
     20    assertEq(Number(max), 0xffff);
     21    assertEq(String(Number(max)), "65535");
     22 }
     23 
     24 function index() {
     25    var zero = "0";
     26    var trippleZero = "000";
     27 
     28    var seven = "7";
     29    var doubleOhSeven = "007";
     30 
     31    var object = {0: "a", "000": "b"};
     32    var object2 = {7: "a", "007": "b"};
     33 
     34    var array = ["a"];
     35    array[trippleZero] = "b";
     36    var array2 = [0, 1, 2, 3, 4, 5, 6, "a"];
     37    array2[doubleOhSeven] = "b";
     38 
     39    for (var i = 0; i < 30; i++) {
     40        assertEq(object[zero], "a");
     41        assertEq(object[0], "a");
     42        assertEq(object[trippleZero], "b");
     43 
     44        assertEq(object2[seven], "a");
     45        assertEq(object2[7], "a");
     46        assertEq(object2[doubleOhSeven], "b");
     47 
     48        assertEq(array[zero], "a");
     49        assertEq(array[0], "a");
     50        assertEq(array[trippleZero], "b");
     51 
     52        assertEq(array2[seven], "a");
     53        assertEq(array2[7], "a");
     54        assertEq(array2[doubleOhSeven], "b");
     55    }
     56 }
     57 
     58 function forin() {
     59    var array = [0, 1, 2, 3, 4, 5, 6];
     60 
     61    var i = 0;
     62    for (var name in array) {
     63        assertEq(name, String(i));
     64        assertEq(Number(name), i);
     65 
     66        assertEq(array[name], i);
     67        assertEq(array.hasOwnProperty(name), true);
     68 
     69        i++;
     70    }
     71 }
     72 
     73 function parse() {
     74    var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1000, 0xffff];
     75 
     76    for (var number of numbers) {
     77        assertEq(parseInt(String(number)), number);
     78        assertEq(parseInt(String(number), 10), number);
     79        assertEq(parseInt(String(number), 0), number);
     80    }
     81 }
     82 
     83 basic();
     84 index();
     85 forin();
     86 parse();