blob: 3a8973c114a3984cb4eac0979b5f666480153f24 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>:checked pseudo selector not matching selected option</title>
</head>
<body>
<p>This is a :checked pseudo selector test.</p>
<div id="console"></div>
<form action=''>
<select id='sel' name='select' multiple>
<option id="option1" selected>option1</option>
<option id="option2">option2</option>
<option id="option3" selected>option3</option>
<option id="option4">option4</option>
</select>
<br>
<input id="radio1" type="radio" name="radiotest" value="radio1" /> Radio1
<br>
<input id="radio2" type="radio" name="radiotest" value="radio2" checked/> Radio2
<br>
<input id="checkbox1" type="checkbox" name="checktest" value="checkbox1" checked/> Checkbox1
<br>
<input id="checkbox2" type="checkbox" name="checktest" value="checkbox2" checked/> Checkbox2
</form>
<br>
<script language="JavaScript" type="text/javascript">
var totalChecked = 0;
var expectedCount = 0;
var idArray=new Array("option1","option2","option3","option4","radio1","radio2","checkbox1","checkbox2");
if (window.testRunner) {
testRunner.dumpAsText();
}
function isCheckedOrSelected(id) {
var obj = document.getElementById(id);
if (obj.checked || obj.selected)
return true;
}
function runTest() {
for (var i = 0; i < idArray.length; i++) {
if (isCheckedOrSelected(idArray[i]))
expectedCount++;
}
totalChecked = document.querySelectorAll(':checked').length;
logResult(totalChecked,expectedCount);
}
function logResult(totalChecked, expectedCount) {
if (totalChecked != expectedCount)
document.write('FAIL - expected: ' + expectedCount + ' and document.querySelectorAll got: ' + totalChecked);
else
document.write('PASS - expected: ' + expectedCount + ' and document.querySelectorAll got: ' + totalChecked);
document.write('<br>');
}
if (window.eventSender) {
runTest();
}
</script>
</body>
</html>