35 lines
1.1 KiB
HTML
35 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<link rel="help" href="http://www.w3.org/TR/html51/forms.html#dom-select-item">
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<select id="target">
|
|
<option value="a">a</option>
|
|
<option value="b">b</option>
|
|
<option value="c">c</option>
|
|
<option value="d">d</option>
|
|
</select>
|
|
|
|
<script>
|
|
description("Tests that the HTMLSelectElement.item() argument is correctly validated.");
|
|
|
|
var select = document.getElementById('target');
|
|
shouldBe("select.__proto__", "HTMLSelectElement.prototype");
|
|
|
|
// getter Node item(unsigned long index);
|
|
shouldBeEqualToString("select.item(0).value", "a");
|
|
shouldBeEqualToString("select.item(1).value", "b");
|
|
shouldBeEqualToString("select.item(2).value", "c");
|
|
shouldBeEqualToString("select.item(3).value", "d");
|
|
shouldBeNull("select.item(4)");
|
|
shouldBeNull("select.item(-1)"); // Offset is too large (after wrapping)
|
|
shouldBeEqualToString("select.item(-4294967294).value", "c"); // Wraps to 2, which is a valid offset.
|
|
shouldThrow("select.item()", "'TypeError: Not enough arguments'");
|
|
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|