Bug 1915045 Ensure decode tasks are scheduled on BufferingState::Enter() r=media...
[gecko.git] / js / xpconnect / tests / unit / test_structuredClone.js
blob94980064498a9d465488ca619576f93908e918a3
1 function run_test() {
2   var sb = new Cu.Sandbox("http://www.example.com", {
3     wantGlobalProperties: ["structuredClone"],
4   });
6   sb.equal = equal;
8   sb.testing = Cu.cloneInto({ xyz: 123 }, sb);
9   Cu.evalInSandbox(
10     `
11     equal(structuredClone("abc"), "abc");
13     var obj = { a: 1 };
14     obj.self = obj;
15     var clone = structuredClone(obj);
16     equal(clone.a, 1);
17     equal(clone.self, clone);
19     var ab = new ArrayBuffer(1);
20     clone = structuredClone(ab, { transfer: [ab] });
21     equal(clone.byteLength, 1);
22     equal(ab.byteLength, 0);
24     clone = structuredClone(testing);
25     equal(clone.xyz, 123);
26     `,
27     sb
28   );
30   const clone = structuredClone({ b: 2 });
31   Assert.equal(clone.b, 2);