blob: 80506e091762a1e4df63602799b2cf47ec2a9251 [file] [log] [blame]
<!DOCTYPE HTML>
<script src="../../../resources/js-test.js"></script>
<style>
div.box {
margin: 5px;
padding: 20px;
float: left;
}
#grey {
width: 50px;
height: 50px;
}
</style>
<div id="grey" class="box" style="background-color:grey">
</div>
<div id="console"></div>
<script>
description("Verifies the compatiblity mouse events are sent correctly when the node is deleted on pointer event handler.");
var eventList = ["mousedown", "mouseup", "mousemove",
"pointerdown", "pointerup", "pointermove"];
var removeNodeEvent = "";
function init() {
var targetDiv = document.getElementById("grey");
eventList.forEach(function(eventName) {
targetDiv.addEventListener(eventName, function(event) {
if (event.eventPhase == Event.AT_TARGET) {
debug("grey received " + event.type);
}
});
});
}
function createGreenBoxAndAddListeners() {
var greenDiv = document.createElement("div");
greenDiv.setAttribute("class", "box");
greenDiv.id = "green";
document.getElementById("grey").appendChild(greenDiv);
eventList.forEach(function(eventName) {
greenDiv.addEventListener(eventName, function(event) {
if (event.eventPhase == Event.AT_TARGET) {
debug("green received " + event.type);
if (event.type == removeNodeEvent) {
greenDiv.parentNode.removeChild(greenDiv);
debug(" ==> Green box removed");
}
}
});
});
}
function testScenario() {
eventSender.mouseMoveTo(0, 0);
if (document.getElementById('grey').children.length == 0)
createGreenBoxAndAddListeners();
var rect = document.getElementById("green").getBoundingClientRect();
var x1 = rect.left + 5;
var y1 = rect.top + 5;
debug(" **** mouse move *****");
eventSender.mouseMoveTo(x1, y1);
debug(" **** mouse down *****");
eventSender.mouseDown(1);
debug(" **** mouse up *****");
eventSender.mouseUp(1);
}
function runTests() {
debug(" ======= Nothing is removed =======");
removeNodeEvent = "";
testScenario();
debug("");
debug(" ======= Remove green on pointerdown =======");
removeNodeEvent = "pointerdown";
testScenario();
debug("");
debug(" ======= Remove green on pointerup =======");
removeNodeEvent = "pointerup";
testScenario();
debug("");
debug(" ======= Remove green on pointermove =======");
removeNodeEvent = "pointermove";
testScenario();
debug("");
}
init();
if (window.eventSender)
runTests();
else
debug("This test requires eventSender");
</script>