diff options
Diffstat (limited to 'dom/html/test/test_bug583514.html')
-rw-r--r-- | dom/html/test/test_bug583514.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/dom/html/test/test_bug583514.html b/dom/html/test/test_bug583514.html new file mode 100644 index 0000000000..a3dead89aa --- /dev/null +++ b/dom/html/test/test_bug583514.html @@ -0,0 +1,71 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=583514 +--> +<head> + <title>Test for Bug 583514</title> + <script src="/tests/SimpleTest/SimpleTest.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=583514">Mozilla Bug 583514</a> +<p id="display"></p> +<div id="content"> + <input> +</div> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 583514 **/ + +var gExpectDivClick = false; +var gExpectInputClick = false; + +var div = document.getElementById('content'); +var input = document.getElementsByTagName('input')[0]; + +div.addEventListener('click', function() { + ok(gExpectDivClick, "click event received on div and expected status was: " + + gExpectDivClick); +}); + +input.addEventListener('click', function() { + ok(gExpectInputClick, "click event received on input and expected status was: " + + gExpectInputClick); +}); + +SimpleTest.waitForExplicitFinish(); + +SimpleTest.waitForFocus(function() { + var body = document.body; + + body.addEventListener('click', function(aEvent) { + if (aEvent.target == input) { + body.removeEventListener('click', arguments.callee); + } + + ok(true, "click event received on body"); + + SimpleTest.executeSoon(function() { + isnot(document.activeElement, input, "input shouldn't have been focused"); + isnot(document.activeElement, div, "div shouldn't have been focused"); + + if (aEvent.target == input) { + SimpleTest.finish(); + } else { + gExpectDivClick = true; + gExpectInputClick = true; + input.click(); + } + }); + }); + + gExpectDivClick = true; + div.click(); +}); + +</script> +</pre> +</body> +</html> |