blob: e70f68492c521d6af58eadb31707675203bd28c4 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<link rel="help" href="http://www.w3.org/TR/html51/forms.html#dom-select-item">
<script src="../../../resources/js-test.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: Failed to execute \'item\' on \'HTMLSelectElement\': 1 argument required, but only 0 present."');
</script>
</body>
</html>