<!DOCTYPE HTML>
<html>
 <head>
  <title>Forms</title>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
 </head>
 <body>
  <p>
    <h3>FieldSet_validity</h3>
  </p>

  <hr>

  <div id="log"></div>

  <form method="post"
      enctype="application/x-www-form-urlencoded"
      action=""
      id="input_form">
    <fieldset id="input_field">
     </fieldset>
  </form>
  <script>

    var field = document.getElementById("input_field");

    if (typeof(field.validity) == "object") {
      test(function() {
        assert_equals(field.validity.valueMissing, false, "validity attribute is not correct.");
      });
    } else {
      test(function() {
        assert_unreached("validity attribute is not exist.");
      });
    }

  </script>

 </body>
</html>
