diff options
Diffstat (limited to 'dom/html/test/test_bug622558.html')
-rw-r--r-- | dom/html/test/test_bug622558.html | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/dom/html/test/test_bug622558.html b/dom/html/test/test_bug622558.html new file mode 100644 index 000000000..025eeca03 --- /dev/null +++ b/dom/html/test/test_bug622558.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=622558 +--> +<head> + <title>Test for Bug 622558</title> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="application/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=622558">Mozilla Bug 622558</a> +<p id="display"></p> +<div id="content"> + <form> + <input> + <textarea></textarea> + <select><option>foo</option></select> +</div> +<pre id="test"> +<script type="application/javascript"> +// Bug 940203 +if (navigator.platform.startsWith("Win")) { + SimpleTest.expectAssertions(0, 1); +} + +/** Test for Bug 622558 **/ + +function checkSelectors(aElement) +{ + ok(aElement.matches(":-moz-ui-invalid"), + ":-moz-ui-invalid should match for " + aElement); + ok(!aElement.matches(":-moz-ui-valid"), + ":-moz-ui-valid should not match for " + aElement); +} + +var input = document.getElementsByTagName('input')[0]; +var textarea = document.getElementsByTagName('textarea')[0]; +var select = document.getElementsByTagName('select')[0]; + +select.addEventListener("focus", function() { + select.removeEventListener("focus", arguments.callee, false); + + SimpleTest.executeSoon(function() { + select.setCustomValidity('foo'); + + SimpleTest.executeSoon(function() { + checkSelectors(select); + SimpleTest.finish(); + }); + }); +}, false); + +textarea.addEventListener("focus", function() { + textarea.removeEventListener("focus", arguments.callee, false); + + SimpleTest.executeSoon(function() { + textarea.setCustomValidity('foo'); + + SimpleTest.executeSoon(function() { + checkSelectors(textarea); + select.focus(); + }); + }); +}, false); + +input.addEventListener("focus", function() { + input.removeEventListener("focus", arguments.callee, false); + + SimpleTest.executeSoon(function() { + input.setCustomValidity('foo'); + + SimpleTest.executeSoon(function() { + checkSelectors(input); + textarea.focus(); + }); + }); +}, false); + +SimpleTest.waitForExplicitFinish(); +SimpleTest.waitForFocus(function() { + input.focus(); +}); + +</script> +</pre> +</body> +</html> |