| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script> | 4 <script> |
| 5 function startTest() | 5 function startTest() |
| 6 { | 6 { |
| 7 t = window.top; | 7 t = window.top; |
| 8 t.shouldBe("window", "self"); | 8 t.shouldBe("window", "self"); |
| 9 t.shouldBe("window", "frames"); | 9 t.shouldBe("window", "frames"); |
| 10 t.shouldBe("parent", "top"); | 10 t.shouldBe("parent", "top"); |
| 11 t.savedClosure = function() | 11 t.savedClosure = () => { |
| 12 // The normal shouldBeNull() helpers don't work well here, since they don't |
| 13 // eval in the right context. |
| 14 function shouldBeNull(value, name) |
| 12 { | 15 { |
| 13 // The normal shouldBeNull() helpers don't work well here, since they do
n't eval | 16 if (value === null) |
| 14 //in the right context. | 17 t.testPassed(name + " is null."); |
| 15 function testProperty(value, name) | 18 else |
| 16 { | 19 t.testFailed(name + " should be null. Was " + value); |
| 17 if (value === null) | 20 } |
| 18 t.testPassed(name + " is null."); | 21 function shouldBeNonNull(value, name) { |
| 19 else | 22 if (value != null) |
| 20 t.testFailed(name + " is not null!"); | 23 t.testPassed(name + " is non-null."); |
| 21 } | 24 else |
| 22 testProperty(window, "window"); | 25 t.testFailed(name + " should be non-null. Was " + value); |
| 23 testProperty(self, "self"); | 26 } |
| 24 testProperty(frames, "frames"); | 27 |
| 25 testProperty(parent, "parent"); | 28 // window, self and frames never be null. |
| 26 testProperty(top, "top"); | 29 // https://html.spec.whatwg.org/multipage/browsers.html#dom-window |
| 27 }; | 30 shouldBeNonNull(window, "window"); |
| 28 location = 'data:text/html,<body>Testing...</body>'; | 31 shouldBeNonNull(self, "self"); |
| 32 shouldBeNonNull(frames, "frames"); |
| 33 |
| 34 // top and parent are null if there is no browsing context with the |
| 35 // WindowProxy. |
| 36 // https://html.spec.whatwg.org/multipage/browsers.html#dom-top |
| 37 // https://html.spec.whatwg.org/multipage/browsers.html#dom-parent |
| 38 shouldBeNull(parent, "parent"); |
| 39 shouldBeNull(top, "top"); |
| 40 }; |
| 41 location = 'data:text/html,<body>Testing...</body>'; |
| 29 } | 42 } |
| 30 </script> | 43 </script> |
| 31 </head> | 44 </head> |
| 32 <body onload="startTest()"> | 45 <body onload="startTest()"> |
| 33 </body> | 46 </body> |
| 34 </html> | 47 </html> |
| OLD | NEW |