| <html> | |
| <head> | |
| <script> | |
| function ok(b,m) { | |
| return external.ok(b, m); | |
| } | |
| function nav_parent_test() { | |
| external.trace("Running _parent navigation tests..."); | |
| var iframe = document.getElementById("testframe"); | |
| var subframe = iframe.contentWindow.document.createElement("iframe"); | |
| subframe.onload = function() { | |
| var doc = subframe.contentWindow.document; | |
| doc.body.innerHTML = '<a href="blank2.html" id="aid" target="_parent">test</a>'; | |
| doc.getElementById("aid").click(); | |
| } | |
| iframe.onload = function() { | |
| iframe.onload = null; | |
| var href = iframe.contentWindow.location.href; | |
| ok(/.*blank2.html/.test(href), "Unexpected href " + href); | |
| next_test(); | |
| } | |
| iframe.contentWindow.document.body.appendChild(subframe); | |
| subframe.src = "blank.html"; | |
| } | |
| function window_navigate_test() { | |
| external.trace("Running window.navigate() tests..."); | |
| var iframe = document.getElementById("testframe"); | |
| iframe.onload = function() { | |
| iframe.onload = null; | |
| var href = iframe.contentWindow.location.href; | |
| ok(href === "about:blank", "Unexpected href " + href); | |
| next_test(); | |
| } | |
| iframe.contentWindow.navigate("about:blank"); | |
| } | |
| function window_open_self_test() { | |
| external.trace("Running window.open(_self) tests..."); | |
| var iframe = document.getElementById("testframe"); | |
| var iframe_window = iframe.contentWindow; | |
| iframe.onload = function() { | |
| iframe.onload = null; | |
| var href = iframe.contentWindow.location.href; | |
| ok(/.*blank.html\?window_open_self/.test(href), "Unexpected href " + href); | |
| ok(iframe.contentWindow === iframe_window, "iframe.contentWindow !== iframe_window"); | |
| next_test(); | |
| } | |
| iframe_window.open("blank.html?window_open_self", "_self"); | |
| } | |
| function detached_src_test() { | |
| var iframe = document.createElement("iframe"); | |
| var onload_called = false; | |
| iframe.onload = function() { | |
| onload_called = true; | |
| next_test(); | |
| } | |
| iframe.src = "blank.html"; | |
| document.body.appendChild(iframe); | |
| ok(onload_called === false, "called onload too early?"); | |
| } | |
| var tests = [ | |
| nav_parent_test, | |
| window_navigate_test, | |
| window_open_self_test, | |
| detached_src_test, | |
| function() { external.reportSuccess(); } | |
| ]; | |
| function next_test() { | |
| window.setTimeout(tests.shift(), 0); | |
| } | |
| </script> | |
| <body onload="next_test()"> | |
| <iframe src="about:blank" id="testframe"></iframe> | |
| </body> | |
| </html> |