tor-browser

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

testForOps.js (1301B)


      1 // |jit-test|
      2 // vim: set ts=8 sts=4 et sw=4 tw=99:
      3 
      4 function assertObjectsEqual(obj1, obj2) {
      5    assertEq(obj1.a, obj2.a);
      6    assertEq(obj1.b, obj2.b);
      7    assertEq(obj1.c, obj2.c);
      8    assertEq(obj1.d, obj2.d);
      9    assertEq(obj2.a, 1);
     10    assertEq(obj2.b, "bee");
     11    assertEq(obj2.c, "crab");
     12    assertEq(obj2.d, 12);
     13 }
     14 
     15 function forName(obj) {
     16    eval('');
     17    var r = { };
     18    for (x in obj)
     19        r[x] = obj[x];
     20    return r;
     21 }
     22 
     23 function forGlobalName(obj) {
     24    var r = { };
     25    for (x in obj)
     26        r[x] = obj[x];
     27    return r;
     28 }
     29 
     30 function forProp(obj) {
     31    var r = { };
     32    var c = { };
     33    for (c.x in obj)
     34        r[c.x] = obj[c.x];
     35    return r;
     36 }
     37 
     38 function forElem(obj, x) {
     39    var r = { };
     40    var c = { };
     41    for (c[x] in obj)
     42        r[c[x]] = obj[c[x]];
     43    return r;
     44 }
     45 
     46 function forLocal(obj) {
     47    var r = { };
     48    for (var x in obj)
     49        r[x] = obj[x];
     50    return r;
     51 }
     52 
     53 function forArg(obj, x) {
     54    var r = { };
     55    for (x in obj)
     56        r[x] = obj[x];
     57    return r;
     58 }
     59 
     60 var obj = { a: 1, b: "bee", c: "crab", d: 12 };
     61 assertObjectsEqual(obj, forName(obj));
     62 assertObjectsEqual(obj, forGlobalName(obj));
     63 assertObjectsEqual(obj, forProp(obj));
     64 assertObjectsEqual(obj, forElem(obj, "v"));
     65 assertObjectsEqual(obj, forLocal(obj));
     66 assertObjectsEqual(obj, forArg(obj));