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

  <div id="log"></div>
  
  <form method="post"
      enctype="application/x-www-form-urlencoded"
      action="" 
      id="input_form">
    <p><button id='button_id'>button</button></p>
  </form>
  <script>

    var button = document.getElementById("button_id");

    try
    {
      var ret = button.checkValidity();

      test(function() {
        assert_equals(ret, true, "calling of checkValidity method is failed.");
      });
    }
    catch (e) {
      test(function() {
        assert_unreached("autofocus attribute is not exist.");
      });
    }

  </script>

 </body>
</html>