Auto merge of #21062 - tigercosmos:ggg, r=emilio

textarea minLength/maxLength

<!-- Please describe your changes on the following line: -->
 textarea minLength/maxLength

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21062)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2018-06-19 12:46:56 -04:00 committed by GitHub
commit 0226a1a4ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 173 additions and 549 deletions

View file

@ -0,0 +1,51 @@
<!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>

View file

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html>
<head>
<title>textarea minlength</title>
<link rel="author" title="tigercosmos" href="mailto:phy.tiger@gmail.com">
<link rel=help href="https://html.spec.whatwg.org/multipage/#attr-textarea-minlength">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<textarea id="none"></textarea>
<textarea id="negative" minlength=-5></textarea>
<textarea id="non-numeric" minlength="not-a-number"></textarea>
<textarea id="assign-negative"></textarea>
<textarea id="assign-non-numeric"></textarea>
<script>
test(
function () {
assert_equals(document.getElementById("none").minLength, -1);
}, "Unset minlength is -1");
test(
function () {
assert_equals(document.getElementById("negative").minLength, -1);
}, "Negative minlength is always -1");
test(
function () {
assert_equals(document.getElementById("non-numeric").minLength, -1);
}, "Non-numeric minlength is -1");
test(
function () {
assert_throws("INDEX_SIZE_ERR", function () {
document.getElementById("assign-negative").minLength = -5;
});
}, "Assigning negative integer throws IndexSizeError");
test(
function () {
document.getElementById("assign-non-numeric").minLength = "not-a-number";
assert_equals(document.getElementById("assign-non-numeric").minLength, 0);
}, "Assigning non-numeric to minlength sets minlength to 0");
</script>
</body>
</html>