blob: 6e34c7bc6d36e137ba926ded72abc460c370b6df [file] [log] [blame]
<script src='../../resources/testharness.js'></script>
<script src='../../resources/testharnessreport.js'></script>
<body>
<script>
var listener = function() { };
(function() {
test(function() {
assert_equals(internals.pointerEventHandlerCount(document), 0);
window.addEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 1);
window.addEventListener('pointerout', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
window.addEventListener('pointerenter', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 3);
window.addEventListener('pointerout', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 4);
window.removeEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 3);
window.removeEventListener('pointerout', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
// Try removing the capturing listener again.
window.removeEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
window.removeEventListener('pointerout', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
window.removeEventListener('pointerenter', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 1);
window.removeEventListener('pointerout', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 0);
}, "Test addEventListener/removeEventListener on the window");
})();
(function() {
test(function() {
assert_equals(internals.pointerEventHandlerCount(document), 0);
window.onpointerenter = function() { }
assert_equals(internals.pointerEventHandlerCount(document), 1);
window.onpointerenter = function() { }
assert_equals(internals.pointerEventHandlerCount(document), 1);
window.onpointerenter = null;
assert_equals(internals.pointerEventHandlerCount(document), 0);
}, "Setting onpointerenter on the window");
})();
(function() {
test(function() {
assert_equals(internals.pointerEventHandlerCount(document), 0);
document.onpointerenter = function() { }
assert_equals(internals.pointerEventHandlerCount(document), 1);
document.onpointerenter = function() { }
assert_equals(internals.pointerEventHandlerCount(document), 1);
document.onpointerenter = null;
assert_equals(internals.pointerEventHandlerCount(document), 0);
}, "Setting onpointerenter on the document");
})();
(function() {
test(function() {
assert_equals(internals.pointerEventHandlerCount(document), 0);
document.addEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 1);
document.addEventListener('pointerout', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
document.addEventListener('pointerenter', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 3);
document.addEventListener('pointerout', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 4);
document.removeEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 3);
document.removeEventListener('pointerout', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
// Try removing the capturing listener again.
document.removeEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
document.removeEventListener('pointerout', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
document.removeEventListener('pointerenter', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 1);
document.removeEventListener('pointerout', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 0);
}, "Test addEventListener/removeEventListener on the document");
})();
(function() {
test(function() {
assert_equals(internals.pointerEventHandlerCount(document), 0);
document.addEventListener('pointerenter', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 1);
document.addEventListener('pointerover', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 2);
document.addEventListener('pointerleave', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 3);
document.addEventListener('pointerout', listener, false);
assert_equals(internals.pointerEventHandlerCount(document), 4);
document.addEventListener('pointermove', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 5);
document.addEventListener('pointerrawupdate', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 6);
document.addEventListener('pointerup', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 7);
document.addEventListener('pointerdown', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 8);
document.addEventListener('pointercancel', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 9);
document.addEventListener('gotpointercapture', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 10);
document.addEventListener('lostpointercapture', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 11);
document.removeEventListener('pointerenter', listener, true);
document.removeEventListener('pointerover', listener, true);
document.removeEventListener('pointerleave', listener, false);
document.removeEventListener('pointerout', listener, false);
document.removeEventListener('pointermove', listener, true);
document.removeEventListener('pointerrawupdate', listener, true);
document.removeEventListener('pointerup', listener, true);
document.removeEventListener('pointerdown', listener, true);
document.removeEventListener('pointercancel', listener, true);
document.removeEventListener('gotpointercapture', listener, true);
document.removeEventListener('lostpointercapture', listener, true);
assert_equals(internals.pointerEventHandlerCount(document), 0);
}, "Test addEventListener for all possible pointer event");
})();
</script>
</body>