tor-browser

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

test_structuredClone.js (709B)


      1 function run_test() {
      2  var sb = new Cu.Sandbox("http://www.example.com", {
      3    wantGlobalProperties: ["structuredClone"],
      4  });
      5 
      6  sb.equal = equal;
      7 
      8  sb.testing = Cu.cloneInto({ xyz: 123 }, sb);
      9  Cu.evalInSandbox(
     10    `
     11    equal(structuredClone("abc"), "abc");
     12 
     13    var obj = { a: 1 };
     14    obj.self = obj;
     15    var clone = structuredClone(obj);
     16    equal(clone.a, 1);
     17    equal(clone.self, clone);
     18 
     19    var ab = new ArrayBuffer(1);
     20    clone = structuredClone(ab, { transfer: [ab] });
     21    equal(clone.byteLength, 1);
     22    equal(ab.byteLength, 0);
     23 
     24    clone = structuredClone(testing);
     25    equal(clone.xyz, 123);
     26    `,
     27    sb
     28  );
     29 
     30  const clone = structuredClone({ b: 2 });
     31  Assert.equal(clone.b, 2);
     32 }