blob: ccdcec33763de0eda717330755c003e376a280c3 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Cobalt pointer event test on cropped element</title>
<script src='black_box_js_test_utils.js'></script>
<script src='pointer_event_test_utils.js'></script>
<style>
#upper_element {
position: absolute;
background-color: blue;
height: 10rem;
width: 200px;
top: 250px;
}
#lower_element {
position: absolute;
background-color: red;
height: 10rem;
width: 200px;
top: 280px;
}
</style>
</head>
<body>
<div class="list">
<div id="upper_element" class="upper_element"></div>
<div id="lower_element" class="lower_element"></div>
</div>
<div id="end" class="end">End</div>
<script>
const expected_events = [
// actions.move_to_element(lower_element).pause(_SLEEP_AFTER_MOVE_TIME)
{ name: 'pointermove', id: 'lower_element', phase: Event.AT_TARGET },
// actions.click()
{ name: 'pointerdown', id: 'lower_element', phase: Event.AT_TARGET },
{ name: 'pointerup', id: 'lower_element', phase: Event.AT_TARGET },
// actions.move_to_element_with_offset(upper_element, 5, 5).pause(_SLEEP_AFTER_MOVE_TIME)
{ name: 'pointermove', id: 'upper_element', phase: Event.AT_TARGET },
// actions.click()
{ name: 'pointerdown', id: 'upper_element', phase: Event.AT_TARGET },
{ name: 'pointerup', id: 'upper_element', phase: Event.AT_TARGET },
// actions.move_to_element(upper_element).pause(_SLEEP_AFTER_MOVE_TIME)
// No pointer event on cropper element.
{ name: 'pointermove', id: 'lower_element', phase: Event.AT_TARGET },
// actions.click()
{ name: 'pointerdown', id: 'lower_element', phase: Event.AT_TARGET },
{ name: 'pointerup', id: 'lower_element', phase: Event.AT_TARGET },
];
function endTest(e) {
assertTrue(failure_count === 0);
onEndTest();
}
function setAllHandlers(prefix, selector, callback) {
setHandlers(prefix + 'down', selector, callback);
setHandlers(prefix + 'up', selector, callback);
setHandlers(prefix + 'move', selector, callback);
setHandlers(prefix + 'cancel', selector, callback);
}
window.onload = () => {
setAllHandlers('pointer', '#upper_element', logEvent);
setAllHandlers('pointer', '#lower_element', logEvent);
setHandlers('click', '#end', endTest);
setupFinished();
}
</script>
</body>
</html>