66 lines
1.9 KiB
HTML
66 lines
1.9 KiB
HTML
<!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>
|