tor-browser

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

proxy-emulates-undefined.js (1068B)


      1 function testMixed() {
      2    var global = newGlobal({newCompartment: true});
      3    var wrapperEmulatesUndefined = global.evaluate("createIsHTMLDDA()");
      4    var wrapperPlain = global.evaluate("({})");
      5 
      6    var arr = [
      7        createIsHTMLDDA(),
      8        wrapperEmulatesUndefined,
      9        wrapperPlain,
     10        this,
     11        new Proxy({}, {})
     12    ];
     13 
     14    var res = 0;
     15    for (var i = 0; i < 100; i++) {
     16        var val = arr[i % arr.length];
     17        if (val) {
     18            res++;
     19        }
     20        if (val == null) {
     21            res++;
     22        }
     23        if (val != undefined) {
     24            res++;
     25        }
     26    }
     27    assertEq(res, 160);
     28 }
     29 testMixed();
     30 
     31 function testNonWrapperProxy() {
     32    var proxies = [new Proxy({}, {}), new Proxy({}, {})];
     33    var res = 0;
     34    for (var i = 0; i < 100; i++) {
     35        var val = proxies[i % proxies.length];
     36        if (val) {
     37            res++;
     38        }
     39        if (val == null) {
     40            throw "failure";
     41        }
     42        if (val != undefined) {
     43            res++;
     44        }
     45    }
     46    assertEq(res, 200);
     47 }
     48 testNonWrapperProxy();