blob: 32f35f13b79dfc4df5aeeb38b2a1a7ae8159a4e3 [file] [log] [blame]
<!doctype html>
<meta charset=utf-8>
<title>Document.forms</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<form id="form1">
<input type="button" name="thebutton" value="alpha">
<input type=radio name=r1 value=a>
<input type=radio name=r1 value=b>
<input type=radio name=r1 value=c>
<input type=radio name=r1 value=d>
<input type=radio name=r1 value=e>
</form>
<form id="form2">
<input type="button" name="thebutton" value="alpha">
<input type=radio name=r1 value="a">
<input type=radio name=r1 value="b">
<input type=radio name=r1 value="c">
<input type=radio name=r1 value="d">
<input type=radio name=r1 value="e">
</form>
<form id=""></form>
<script>
test(function() {
assert_equals(document.forms.length, 3);
assert_equals(document.forms[0].id, "form1");
assert_equals(document.forms[1].id, "form2");
assert_equals(document.forms.form1.id, "form1");
assert_equals(document.forms.form2.id, "form2");
assert_equals(document.forms.item(0).id, "form1");
assert_equals(document.forms.item(1).id, "form2");
assert_equals(document.forms.namedItem("form1").id, "form1");
assert_equals(document.forms.namedItem("form2").id, "form2");
}, "document.forms")
test(function() {
// The `item` method takes one *numeric* argument. Passing a string to `item`
// results in that string getting converted to 0
assert_equals(document.forms.item("form1").id, "form1");
assert_equals(document.forms.item("form2").id, "form1");
}, "document.forms.item with string arg")
test(function() {
assert_equals(document.forms[""], undefined);
assert_equals(document.forms.namedItem(""), null);
}, "document.forms with empty string")
test(function() {
var result = [];
for (var p in document.forms) {
result.push(p);
}
assert_array_equals(result, ["0", "1", "2", "item", "namedItem", "length"])
}, "document.forms iteration")
test(function() {
var result = Object.getOwnPropertyNames(document.forms);
assert_array_equals(result, ["0", "1", "2", "form1", "form2"])
}, "document.forms getOwnPropertyNames")
</script>