<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>input[type="text"], ValidityState.tooLong and user editing</title>
    <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
    <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
    <meta name="flags" content="interact">
    <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <p>Delete one character from the following text input:</p>
    <input type="text" value="0123456789" maxlength="5" autocomplete="off" id="testinput">

    <div id="log"></div>
    <script>
var input = document.getElementById('testinput');
setup({explicit_timeout: true, explicit_done: true});
on_event(input, "input", function () {
  test(function() {
    assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
    assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
  });
  done();
});
    </script>
  </body>
</html>
