blob: 5396e8c558525849946cf6fa726e94fdd3d62d58 [file] [log] [blame]
<html>
<head>
<script>
function test() {
if (window.layoutTestController)
layoutTestController.dumpAsText();
var r1 = document.getElementById('r1');
verifyCheckedState(r1, true);
r1.checked = false;
verifyCheckedState(r1, false);
r1.checked = true;
verifyCheckedState(r1, true);
r1.checked = false;
verifyCheckedState(r1, false);
document.getElementById('fr').reset();
verifyCheckedState(r1, true);
var r2 = document.getElementById('r2');
// Attempt to check with the spacebar
r2.focus();
if (window.layoutTestController) {
eventSender.keyDown(' ');
}
verifyCheckedState(r2, false);
var r3 = document.getElementById('r3');
// Attempt to check with the mouse
if (window.layoutTestController) {
eventSender.mouseMoveTo(r3.offsetLeft + 7, r3.offsetTop + 7);
eventSender.mouseDown();
eventSender.mouseUp();
}
verifyCheckedState(r3, false);
}
function verifyCheckedState(rad, expected) {
if (rad.checked == expected)
log("Pass");
else
log("Fail");
}
function log(msg) {
var console = document.getElementById('console');
console.innerHTML = console.innerHTML + msg + "<br>";
}
</script>
</head>
<body onload="test()">
There is a WinIE quirk that does not allow a user to select radio buttons that don't have names. This tests that we only honor that quirk<br>
in response to mouse and keyboard events. If the checked attribute is set on the element in the markup, or in javascript, we should ignore the quirk.<br>
<form id="fr">
<input type="radio" id="r1" checked>
<input type="radio" id="r2">
<input type="radio" id="r3">
</form>
<div id='console'></div>
</body>
</html>