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

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

  <form method="post"
      enctype="application/x-www-form-urlencoded"
      action=""
      name="input_form">
  <p><input type='number' id='input_number'></p>
  </form>

  <script>
    
    var input_number = document.getElementById("input_number");
    input_number.max = "30";
    input_number.step = "3";
    input_number.value = "0";
    input_number.stepUp(5);

    if (typeof(input_number.stepUp) == "function") {
      test(function() {
        assert_equals(input_number.value, "15", "call of stepUp method is failed.");
      });
    } else {
      test(function() {
        assert_unreached("stepUp attribute is not exist.");
      });
    }

  </script>

 </body>
</html>