<!DOCTYPE html>
<html>

<head>
  <title>textarea maxlength</title>
  <link rel="author" title="tigercosmos" href="mailto:phy.tiger@gmail.com">
  <link rel=help href="https://html.spec.whatwg.org/multipage/#attr-textarea-maxlength">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
</head>

<body>

  <textarea id="none"></textarea>
  <textarea id="negative" maxlength="-5"></textarea>
  <textarea id="non-numeric" maxlength="not-a-number"></textarea>
  <textarea id="assign-negative"></textarea>
  <textarea id="assign-non-numeric"></textarea>

  <script>
    test(
      function () {
        assert_equals(document.getElementById("none").maxLength, -1);
      }, "Unset maxlength is -1");

    test(
      function () {
        assert_equals(document.getElementById("negative").maxLength, -1);
      }, "Negative maxlength is always -1");

    test(
      function () {
        assert_equals(document.getElementById("non-numeric").maxLength, -1);
      }, "Non-numeric maxlength is -1");

    test(
      function () {
        assert_throws("INDEX_SIZE_ERR", function () {
          document.getElementById("assign-negative").maxLength = -5;
        });
      }, "Assigning negative integer throws IndexSizeError");

    test(
      function () {
        document.getElementById("assign-non-numeric").maxLength = "not-a-number";
        assert_equals(document.getElementById("assign-non-numeric").maxLength, 0);
      }, "Assigning non-numeric to maxlength sets maxlength to 0");
  </script>
</body>

</html>