gecko/dom/events/test/test_bug322588.html
Ehsan Akhgari 309b4049b4 Bug 649012 - Fail mochitest-plains which use flaky timeouts (setTimeout(x) for x > 0); r=ted
We are white-listing the existing set of tests that use setTimeout
like this.  Hopefully these tests will be investigated and fixed
in the future, so that we can narrow down the white-list.

This check is only turned on for mochitest-plain for now.
2014-12-11 13:34:40 -05:00

63 lines
1.6 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=322588
-->
<head>
<title>Test for Bug 322588 - onBlur window close no longer works</title>
<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>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=322588">Mozilla Bug 322588 - onBlur window close no longer works</a>
<p id="display">
<a id="link" href="javascript:pop350d('bug322588-popup.html#target')">Openwindow</a><br>
The opened window should not directly close when clicking on the Openwindow link
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script type="application/javascript">
/** Test for Bug 322588 **/
var result = "";
var w;
function pop350d(url) {
w = window.open();
w.addEventListener("unload", function () { result += " unload";}, false);
w.addEventListener("load", function () { result += " load"; setTimeout(done, 1000);}, false);
w.addEventListener("blur", function () { result += " blur";}, false);
w.location = url;
}
function doTest() {
try {
sendMouseEvent({type:'click'}, 'link');
} catch(e) {
if (w)
w.close();
throw e;
}
}
function done() {
is(result," unload load","unexpected events"); // The first unload is for about:blank
if (w)
w.close();
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
SimpleTest.requestFlakyTimeout("untriaged");
addLoadEvent(doTest);
</script>
</pre>
</body>
</html>