Bug 1126245 - Add test (r=bent)

This commit is contained in:
Bill McCloskey 2015-02-03 09:20:50 -08:00
parent 364ab011d6
commit aa5986fb0f
4 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,7 @@
<html>
<body>
<script>
window.close();
</script>
</html>
</body>

View File

@ -0,0 +1,5 @@
<html>
<body>
<a id="link" href="file_window_open_close_inner.html" target="_blank" onclick="setTimeout(function () { window.close() }, 0)">link</a>
</html>
</body>

View File

@ -176,6 +176,8 @@ support-files =
file_imports_redirected.html
file_srcdoc-2.html
file_srcdoc.html
file_window_open_close_outer.html
file_window_open_close_inner.html
form_submit_server.sjs
image.png
image-allow-credentials.png
@ -579,4 +581,5 @@ support-files = file_bug871161-1.html file_bug871161-2.html
[test_bug1013316.html]
[test_hash_encoded.html]
[test_bug1081037.html]
[test_window_open_close.html]
skip-if = buildapp == 'b2g' # bug 1129014

View File

@ -0,0 +1,53 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<script type="application/javascript">
SimpleTest.waitForExplicitFinish();
// Opens a popup. Link should load in main browser window. Popup should be closed when link clicked.
function openWindow1() {
return window.open('file_window_open_close_outer.html','','width=300,height=200');
}
// Opens a new tab T1. Link opens in another new tab T2. T1 should close when link clicked.
function openWindow2() {
return window.open('file_window_open_close_outer.html');
}
// Opens a new window. Link should open in a new tab of that window, but then both windows should close.
function openWindow3() {
return window.open('file_window_open_close_outer.html', '', 'toolbar=1');
}
var TESTS = [openWindow1, openWindow2, openWindow3];
function popupLoad(win)
{
info("Sending click");
sendMouseEvent({type: "click"}, "link", win);
ok(true, "Didn't crash");
next();
}
function next()
{
if (TESTS.length == 0) {
SimpleTest.finish();
} else {
var test = TESTS.shift();
var w = test();
w.addEventListener("load", (e) => popupLoad(w));
}
}
</script>
<body onload="next()">
</body>
</html>