blob: d8a856e53a2f3b391b07e020b4caa3f95f416cef [file] [log] [blame]
<script src="../../../resources/js-test.js"></script>
<script>
description("This test checks that we correctly update the wheel event handler count as event handlers are added and removed");
(function() {
// Test addEventListener/removeEventListener on the document.
var listener = function() { }
shouldBe('internals.wheelEventHandlerCount(document)', '0');
document.addEventListener('mousewheel', listener, true);
shouldBe('internals.wheelEventHandlerCount(document)', '1');
document.addEventListener('mousewheel', listener, false);
shouldBe('internals.wheelEventHandlerCount(document)', '2');
document.removeEventListener('mousewheel', listener, true);
shouldBe('internals.wheelEventHandlerCount(document)', '1');
// Try removing the capturing listener again.
document.removeEventListener('mousewheel', listener, true);
shouldBe('internals.wheelEventHandlerCount(document)', '1');
document.removeEventListener('mousewheel', listener, false);
shouldBe('internals.wheelEventHandlerCount(document)', '0');
})();
(function() {
// Test setting onmousewheel on the document.
shouldBe('internals.wheelEventHandlerCount(document)', '0');
document.onmousewheel = function() { }
shouldBe('internals.wheelEventHandlerCount(document)', '1');
document.onmousewheel = function() { }
shouldBe('internals.wheelEventHandlerCount(document)', '1');
document.onmousewheel = null;
shouldBe('internals.wheelEventHandlerCount(document)', '0');
})();
(function() {
// Test addEventListener/removeEventListener on the window.
var listener = function() { }
shouldBe('internals.wheelEventHandlerCount(document)', '0');
window.addEventListener('mousewheel', listener, true);
shouldBe('internals.wheelEventHandlerCount(document)', '1');
window.addEventListener('mousewheel', listener, false);
shouldBe('internals.wheelEventHandlerCount(document)', '2');
window.removeEventListener('mousewheel', listener, true);
shouldBe('internals.wheelEventHandlerCount(document)', '1');
// Try removing the capturing listener again.
window.removeEventListener('mousewheel', listener, true);
shouldBe('internals.wheelEventHandlerCount(document)', '1');
window.removeEventListener('mousewheel', listener, false);
shouldBe('internals.wheelEventHandlerCount(document)', '0');
})();
(function() {
// Test setting onmousewheel on the window.
shouldBe('internals.wheelEventHandlerCount(document)', '0');
window.onmousewheel = function() { }
shouldBe('internals.wheelEventHandlerCount(document)', '1');
window.onmousewheel = function() { }
shouldBe('internals.wheelEventHandlerCount(document)', '1');
window.onmousewheel = null;
shouldBe('internals.wheelEventHandlerCount(document)', '0');
})();
</script>
</body>