43 lines
1.6 KiB
HTML
43 lines
1.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<form method="get">
|
|
<input id="input-empty" name="victim" type="text" required/>
|
|
<input id="input-pattern-mismatch" name="victim" type="text" pattern="Lorem ipsum" value="Loremipsum"/>
|
|
<textarea id="textarea" name="victim" required></textarea>
|
|
<select id="select-no-explicit-value" required>
|
|
<option>empty</option>
|
|
<option>another</option>
|
|
</select>
|
|
<select id="select-placeholder" name="victim" required>
|
|
<option value="" selected />
|
|
<option value="X">X</option>
|
|
</select>
|
|
<select id="select-non-placeholder" name="victim" required>
|
|
<option value="X">X</option>
|
|
<option value="" selected />
|
|
</select>
|
|
</form>
|
|
<div id="console"></div>
|
|
<script>
|
|
function checkValidityFor(id) {
|
|
return document.getElementById(id).checkValidity();
|
|
}
|
|
|
|
description("This test checks if checkValidity() returns correctly a false (meaning error) result on invalid elements, and returns a true result on a blank but valid elements. Blank but non-placeholder label options are valid.");
|
|
|
|
shouldBeFalse('checkValidityFor("input-empty")');
|
|
shouldBeFalse('checkValidityFor("input-pattern-mismatch")');
|
|
shouldBeFalse('checkValidityFor("textarea")');
|
|
shouldBeTrue('checkValidityFor("select-no-explicit-value")');
|
|
shouldBeFalse('checkValidityFor("select-placeholder")');
|
|
shouldBeTrue('checkValidityFor("select-non-placeholder")');
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|