62 lines
1.5 KiB
HTML
62 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<select id="theSelect">
|
|
<option value="a">A</option>
|
|
<option value="b">B</option>
|
|
</select>
|
|
<select id="theMultipleSelect" multiple>
|
|
<option value="a">A</option>
|
|
<option value="b">B</option>
|
|
<option value="c">C</option>
|
|
<option value="d">D</option>
|
|
</select>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("https://bugs.webkit.org/show_bug.cgi?id=67233 - Setting the value of a select to an invalid value should unset the selection.");
|
|
|
|
function resetSingleSelect() {
|
|
sel.value = 'a';
|
|
shouldBe("sel.selectedIndex", "0", true);
|
|
}
|
|
|
|
function resetMultipleSelect() {
|
|
sel.item(1).selected = true;
|
|
sel.item(3).selected = true;
|
|
}
|
|
|
|
function runTestsOnSelect(resetSelect) {
|
|
debug("Setting the value to an invalid value:");
|
|
resetSelect(sel);
|
|
sel.value = 'x';
|
|
shouldBe("sel.selectedIndex", "-1");
|
|
|
|
debug("Setting the value to null:");
|
|
resetSelect(sel);
|
|
sel.value = null;
|
|
shouldBe("sel.selectedIndex", "-1");
|
|
|
|
debug("Setting the value to undefined:");
|
|
resetSelect(sel);
|
|
sel.value = undefined;
|
|
shouldBe("sel.selectedIndex", "-1");
|
|
}
|
|
|
|
debug("-- Menu list select:");
|
|
sel = document.getElementById("theSelect");
|
|
runTestsOnSelect(resetSingleSelect);
|
|
|
|
debug("-- List box select:");
|
|
sel = document.getElementById("theMultipleSelect");
|
|
runTestsOnSelect(resetMultipleSelect);
|
|
|
|
successfullyParsed = true;
|
|
</script>
|
|
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html> |