<html>
<head>
	<title>Untitled</title>
	<script type="text/javascript">

if (window.layoutTestController)
    layoutTestController.dumpAsText();
	
function debug(msg)
{
    var span = document.createElement("span");
    span.innerHTML = msg + '<br>';
    document.getElementById("console").appendChild(span);
}

var changeEventCount = 0;

		function main() {
			var cb = document.getElementById("myCheckbox");
			
			// This line should not fire a change event
			cb.checked = !cb.checked;
			
			// This line should fire a change event
			cb.click();
			
			// This line should not fire a change event
			cb.setAttribute("checked", "checked");

			if (changeEventCount != 1) {
			    debug("FAIL: expected 1 change event, got " + changeEventCount); 
			} else {
			    debug("PASS: got exactly one change event.");
			}
		}
	
	</script>
</head>
<body onload="main();">
<p>This test checks that programmaticly changing the checked state of
a checkbox does not fire the "change" event (but user action like
calling "click" does).</p>
<div id="console"></div>
	<input type="checkbox" id="myCheckbox" onchange="changeEventCount++">
</body>
</html>
