зеркало из https://github.com/mozilla/gecko-dev.git
90 строки
3.4 KiB
HTML
90 строки
3.4 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1088761
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 1088761</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<style>
|
|
input, textarea, fieldset, button, select, output, object { background-color: rgb(0,0,0) !important; }
|
|
:valid { background-color: rgb(0,255,0) !important; }
|
|
:invalid { background-color: rgb(255,0,0) !important; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1088761">Mozilla Bug 1088761</a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
<fieldset id='f' oninvalid="invalidEventHandler(event, true);"></fieldset>
|
|
<input id='i' required oninvalid="invalidEventHandler(event, true);">
|
|
<button id='b' oninvalid="invalidEventHandler(event, true);"></button>
|
|
<select id='s' required oninvalid="invalidEventHandler(event, true);"></select>
|
|
<textarea id='t' required oninvalid="invalidEventHandler(event, true);"></textarea>
|
|
<output id='o' oninvalid="invalidEventHandler(event, true);"></output>
|
|
<object id='obj' oninvalid="invalidEventHandler(event, true);"></object>
|
|
</div>
|
|
<div id="content2" style="display: none">
|
|
<fieldset id='f2' oninvalid="invalidEventHandler(event, false);"></fieldset>
|
|
<input id='i2' required oninvalid="invalidEventHandler(event, false);">
|
|
<button id='b2' oninvalid="invalidEventHandler(event, false);"></button>
|
|
<select id='s2' required oninvalid="invalidEventHandler(event, false);"></select>
|
|
<textarea id='t2' required oninvalid="invalidEventHandler(event, false);"></textarea>
|
|
<output id='o2' oninvalid="invalidEventHandler(event, false);"></output>
|
|
<object id='obj2' oninvalid="invalidEventHandler(event, false);"></object>
|
|
</div>
|
|
<pre id="test">
|
|
<script type="application/javascript">
|
|
|
|
/** Test for Bug 1088761 **/
|
|
|
|
var gInvalid = false;
|
|
|
|
function invalidEventHandler(aEvent, isPreventDefault)
|
|
{
|
|
if (isPreventDefault) {
|
|
aEvent.preventDefault();
|
|
}
|
|
|
|
is(aEvent.type, "invalid", "Invalid event type should be invalid");
|
|
ok(!aEvent.bubbles, "Invalid event should not bubble");
|
|
ok(aEvent.cancelable, "Invalid event should be cancelable");
|
|
gInvalid = true;
|
|
}
|
|
|
|
function checkReportValidityForInvalid(element)
|
|
{
|
|
gInvalid = false;
|
|
ok(!element.reportValidity(), "reportValidity() should return false when the element is not valid");
|
|
ok(gInvalid, "Invalid event should have been handled");
|
|
}
|
|
|
|
function checkReportValidityForValid(element)
|
|
{
|
|
gInvalid = false;
|
|
ok(element.reportValidity(), "reportValidity() should return true when the element is valid");
|
|
ok(!gInvalid, "Invalid event shouldn't have been handled");
|
|
}
|
|
|
|
checkReportValidityForInvalid(document.getElementById('i'));
|
|
checkReportValidityForInvalid(document.getElementById('s'));
|
|
checkReportValidityForInvalid(document.getElementById('t'));
|
|
|
|
checkReportValidityForInvalid(document.getElementById('i2'));
|
|
checkReportValidityForInvalid(document.getElementById('s2'));
|
|
checkReportValidityForInvalid(document.getElementById('t2'));
|
|
|
|
checkReportValidityForValid(document.getElementById('o'));
|
|
checkReportValidityForValid(document.getElementById('obj'));
|
|
checkReportValidityForValid(document.getElementById('f'));
|
|
|
|
checkReportValidityForValid(document.getElementById('o2'));
|
|
checkReportValidityForValid(document.getElementById('obj2'));
|
|
checkReportValidityForValid(document.getElementById('f2'));
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|