blob: 1def6b0a4db9f858ec5add3f1793c93083439f74 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<form method="get" id="sad-form">
<input id="input-empty" name="victim" type="text" required title="empty input"/>
<input id="input-pattern-mismatch" name="victim" type="text" pattern="Lorem ipsum" value="Loremipsum" title="Should type 'Lorem ipsum'"/>
<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 $(id) { return document.getElementById(id); }
function reportValidityFor(id) {
return document.getElementById(id).reportValidity();
}
description("This test checks if reportValidity() 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('reportValidityFor("input-empty")');
shouldBe('document.activeElement', '$("input-empty")');
shouldBeFalse('reportValidityFor("input-pattern-mismatch")');
shouldBe('document.activeElement', '$("input-pattern-mismatch")');
shouldBeFalse('reportValidityFor("textarea")');
shouldBe('document.activeElement', '$("textarea")');
shouldBeTrue('reportValidityFor("select-no-explicit-value")');
shouldNotBe('document.activeElement', '$("select-no-explicit-value")');
shouldBeFalse('reportValidityFor("select-placeholder")');
shouldBe('document.activeElement', '$("select-placeholder")');
shouldBeTrue('reportValidityFor("select-non-placeholder")');
shouldNotBe('document.activeElement', '$("select-non-placeholder")');
shouldBeFalse('reportValidityFor("sad-form")');
shouldBe('document.activeElement', '$("input-empty")');
</script>
</body>
</html>