postMessage_structured_clone_helper.js (1510B)
1 function* getTestContent() { 2 yield "hello"; 3 yield 2 + 3; 4 yield 12; 5 yield null; 6 yield "complex" + "string"; 7 yield new Object(); 8 yield new Date(1306113544); 9 yield [1, 2, 3, 4, 5]; 10 let obj = new Object(); 11 obj.foo = 3; 12 obj.bar = "hi"; 13 obj.baz = new Date(1306113544); 14 obj.boo = obj; 15 yield obj; 16 17 let recursiveobj = new Object(); 18 recursiveobj.a = recursiveobj; 19 recursiveobj.foo = new Object(); 20 recursiveobj.foo.bar = "bar"; 21 recursiveobj.foo.backref = recursiveobj; 22 recursiveobj.foo.baz = 84; 23 recursiveobj.foo.backref2 = recursiveobj; 24 recursiveobj.bar = new Object(); 25 recursiveobj.bar.foo = "foo"; 26 recursiveobj.bar.backref = recursiveobj; 27 recursiveobj.bar.baz = new Date(1306113544); 28 recursiveobj.bar.backref2 = recursiveobj; 29 recursiveobj.expando = recursiveobj; 30 yield recursiveobj; 31 32 obj = new Object(); 33 obj.expando1 = 1; 34 obj.foo = new Object(); 35 obj.foo.bar = 2; 36 obj.bar = new Object(); 37 obj.bar.foo = obj.foo; 38 obj.expando = new Object(); 39 obj.expando.expando = new Object(); 40 obj.expando.expando.obj = obj; 41 obj.expando2 = 4; 42 obj.baz = obj.expando.expando; 43 obj.blah = obj.bar; 44 obj.foo.baz = obj.blah; 45 obj.foo.blah = obj.blah; 46 yield obj; 47 48 let diamond = new Object(); 49 obj = new Object(); 50 obj.foo = "foo"; 51 obj.bar = 92; 52 obj.backref = diamond; 53 diamond.ref1 = obj; 54 diamond.ref2 = obj; 55 yield diamond; 56 57 let doubleref = new Object(); 58 obj = new Object(); 59 doubleref.ref1 = obj; 60 doubleref.ref2 = obj; 61 yield doubleref; 62 }