Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds support for input element's maxlength attr #7323

Merged
merged 14 commits into from Dec 3, 2015

Add additional WPT tests for maxlength parser set

  • Loading branch information
samfoo committed Dec 3, 2015
commit 6d1624f9d061e025df616ead4a21b44b7c1b326b
@@ -32,7 +32,6 @@ use msg::constellation_msg::ScriptMsg as ConstellationMsg;
use selectors::states::*;
use std::borrow::ToOwned;
use std::cell::Cell;
use std::i32;
use string_cache::Atom;
use textinput::KeyReaction::{DispatchInput, Nothing, RedrawSelection, TriggerDefaultAction};
use textinput::Lines::Single;
@@ -0,0 +1,61 @@
<!DOCTYPE html>
<html>
<head>
<title>input max length</title>
<link rel="author" title="Sam Gibson" href="mailto:sam@ifdown.net">
<link rel=help href="https://html.spec.whatwg.org/multipage/forms.html#the-maxlength-and-minlength-attributes">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>

<body>
<h1>Text input element</h1>

<div style="display: none">
<input id="none" />
<input id="negative" type="-5" />
<input id="non-numeric" type="not-a-number" />
<input id="assign-negative" />
<input id="assign-non-numeric" />
</div>

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

<script type="text/javascript">
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() {
try {
document.getElementById("assign-negative").maxLength = -5;
} catch (e) {
if (e.name == "IndexSizeError") {
return;
}
}

throw new Error("expected IndexSizeError");
}, "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>

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.