<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>required and basic valueMissing</title>
<script src="../../fast/js/resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<input id="input" name="victim" required/>
<textarea id="textarea" name="victim" required></textarea>
<select id="select-no-option" name="victim" required>
</select>
<select id="select-placeholder-selected" name="victim" required>
  <option value="" selected />
  <option value="X">X</option>
</select>
<select id="select-without-placeholder" name="victim" required>
  <option value="X">X</option>
  <option value="" selected />
</select>
<select id="select-placeholder-selected-size2" name="victim" size="2" required>
  <option value="" selected />
  <option value="X">X</option>
</select>
<select id="select-without-placeholder-size2" name="victim" size="2" required>
  <option value="X">X</option>
  <option value="" selected />
</select>
<select id="select-none-selected-multiple" name="victim" multiple required>
  <option value="" />
  <option value="X">X</option>
</select>
<select id="select-fake-placeholder-selected-multiple" name="victim" multiple required>
  <option value="" selected />
  <option value="X">X</option>
</select>
<select id="select-without-fake-placeholder-multiple" name="victim" multiple required>
  <option value="X">X</option>
  <option value="" selected />
</select>
<select id="select-none-selected-size2-multiple" name="victim" multiple size="2" required>
  <option value="" />
  <option value="X">X</option>
</select>
<select id="select-fake-placeholder-selected-size2-multiple" name="victim" multiple size="2" required>
  <option value="" selected />
  <option value="X">X</option>
</select>
<select id="select-without-fake-placeholder-size2-multiple" name="victim" multiple size="2" required>
  <option value="X">X</option>
  <option value="" selected />
</select>
<select id="select-optgroup" name="victim" required>
  <optgroup label="1">
    <option value="" selected />
  </optgroup>
  <option value="X">X</option>
</select>
<select id="select-disabled-option" name="victim" required>
  <option value="" disabled selected />
  <option value="X">X</option>
</select>
<script language="JavaScript" type="text/javascript">
    function valueMissingFor(id) {
        return document.getElementById(id).validity.valueMissing;
    }

    description("This test checks validity.valueMissing with blank values, blank options selected, or nothing selected.");

    v = document.getElementsByName("victim");

    shouldBeTrue('valueMissingFor("input")');
    shouldBeTrue('valueMissingFor("textarea")');
    shouldBeTrue('valueMissingFor("select-no-option")');
    shouldBeTrue('valueMissingFor("select-placeholder-selected")');
    shouldBeFalse('valueMissingFor("select-without-placeholder")');
    shouldBeFalse('valueMissingFor("select-placeholder-selected-size2")');
    shouldBeFalse('valueMissingFor("select-without-placeholder-size2")');
    shouldBeTrue('valueMissingFor("select-none-selected-multiple")');
    shouldBeFalse('valueMissingFor("select-fake-placeholder-selected-multiple")');
    shouldBeFalse('valueMissingFor("select-without-fake-placeholder-multiple")');
    shouldBeTrue('valueMissingFor("select-none-selected-size2-multiple")');
    shouldBeFalse('valueMissingFor("select-fake-placeholder-selected-size2-multiple")');
    shouldBeFalse('valueMissingFor("select-without-fake-placeholder-size2-multiple")');
    shouldBeFalse('valueMissingFor("select-optgroup")');
    shouldBeTrue('valueMissingFor("select-disabled-option")');
</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>
