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

  <hr>

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

  <form method="post"
      enctype="application/x-www-form-urlencoded"
      action=""
      id="input_form">
    <p><input type='hidden' id='input_text'></p>
  </form>
  <script>

    var input = document.getElementById("input_text");

    if (typeof(input.willValidate) == "boolean") {
      test(function() {
        assert_equals(input.willValidate, false, "willValidate attribute is not correct.");
      });
    } else {
      test(function() {
        assert_unreached("willValidate attribute is not exist.");
      });
    }

  </script>

 </body>
</html>
