<!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>
