93 lines
2.4 KiB
HTML
93 lines
2.4 KiB
HTML
<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>
|