diff options
Diffstat (limited to 'testing/web-platform/tests/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html')
-rw-r--r-- | testing/web-platform/tests/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/testing/web-platform/tests/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html b/testing/web-platform/tests/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html new file mode 100644 index 000000000..8cb548f84 --- /dev/null +++ b/testing/web-platform/tests/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<html> +<head> +<title> MouseEvent: Default action and synthetic click event </title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> +<div id=log></div> + +<div style="display: none"> + <input type="checkbox" id="target"> + <button id="button"> Click Here </button> +</div> + +<script> + setup({explicit_done:true}); + var EVENT = "click"; + var TARGET = document.getElementById("target"); + var BUTTON = document.getElementById("button"); + var state; + + var description = "Test Description: " + + "MouseEvent: Default action is performed when a synthetic click event is dispatched on a checkbox element"; + + BUTTON.addEventListener(EVENT, TestEvent, true); + TARGET.addEventListener(EVENT, TestEvent, true); + + window.onload = function() + { + state = TARGET.checked; + BUTTON.click(); + } + + function TestEvent(evt) + { + if (BUTTON == evt.target) + { + var e; + test(function() + { + BUTTON.removeEventListener(EVENT, TestEvent, true); + + e = document.createEvent("MouseEvent"); + e.initMouseEvent(EVENT, /* type */ + false, /* bubbles */ + true, /* cancelable */ + window, /* view */ + 1, /* detail */ + 0, /* screenX */ + 0, /* screenY */ + 0, /* clientX */ + 0, /* clientY */ + false, /* ctrlKey */ + false, /* altKey */ + false, /* shiftKey */ + false, /* metaKey */ + 0, /* button */ + null /* relatedTarget */); + + assert_array_equals([TARGET.checked, e.type, e.bubbles], [state, EVENT, false]); + + }, "Checkbox state is unchanged before the synthetic click event is dispatched"); + + TARGET.dispatchEvent(e); + } + else if (TARGET == evt.target) + { + test(function() + { + assert_array_equals([TARGET.checked, evt.type, evt.bubbles], [!state, EVENT, false]); + + }, description); + + done(); + } + } +</script> +</body> +</html> |