<!DOCTYPE HTML>
<html>
 <head>
  <title>Forms</title>
  <script src="../../resources/testharness.js"></script>
  <script src="../../resources/testharnessreport.js"></script>
 </head>
 <body>
  <p>
    <h3>input_setCustomValidity</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");

    try
    {
      input.setCustomValidity("custom error");
      test(function() {
        assert_true(true, "calling of setCustomValidity method is successed.");
      });
    }
    catch (e) {
      test(function() {
        assert_unreached("Error is raised.");
      });
    }

  </script>

 </body>
</html>