Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/events/pointerevents/pointer-handler-count.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/events/pointerevents/pointer-handler-count.html b/third_party/WebKit/LayoutTests/fast/events/pointerevents/pointer-handler-count.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6be853216600399e8d0862adf6cbbd0f65e76fcd |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/events/pointerevents/pointer-handler-count.html |
| @@ -0,0 +1,94 @@ |
| +<script src='../../../resources/testharness.js'></script> |
| +<script src='../../../resources/testharnessreport.js'></script><script> |
| + |
| +(function() { |
| + var listener = function() { } |
|
Navid Zolghadr
2017/06/01 16:26:13
Can you also add another scenario for testing all
eirage
2017/06/01 19:59:24
Done.
|
| + |
| + test(function() { |
| + |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + document.addEventListener('pointerenter', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + document.addEventListener('pointerout', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + document.addEventListener('pointerenter', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 3); |
| + document.addEventListener('pointerout', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 4); |
| + document.removeEventListener('pointerenter', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 3); |
| + document.removeEventListener('pointerout', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + |
| + // Try removing the capturing listener again. |
| + document.removeEventListener('pointerenter', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + document.removeEventListener('pointerout', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + |
| + document.removeEventListener('pointerenter', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + document.removeEventListener('pointerout', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + |
| + }, "Test 1: addEventListener/removeEventListener on the document"); |
| + |
| +})(); |
| + |
| +(function() { |
| + test(function() { |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + document.onpointerenter = function() { } |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + document.onpointerenter = function() { } |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + document.onpointerenter = null; |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + }, "Test 2: setting onpointerenter on the document"); |
| +})(); |
| + |
| +(function() { |
| + var listener = function() { } |
| + |
| + test(function() { |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + window.addEventListener('pointerenter', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + window.addEventListener('pointerout', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + window.addEventListener('pointerenter', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 3); |
| + window.addEventListener('pointerout', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 4); |
| + window.removeEventListener('pointerenter', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 3); |
| + window.removeEventListener('pointerout', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + |
| + // Try removing the capturing listener again. |
| + window.removeEventListener('pointerenter', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + window.removeEventListener('pointerout', listener, true); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 2); |
| + |
| + window.removeEventListener('pointerenter', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + window.removeEventListener('pointerout', listener, false); |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + }, "Test 3: addEventListener/removeEventListener on the window"); |
| +})(); |
| + |
| +(function() { |
| + test(function() { |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + window.onpointerenter = function() { } |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + window.onpointerenter = function() { } |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 1); |
| + window.onpointerenter = null; |
| + assert_equals(window.internals.pointerEventHandlerCount(document), 0); |
| + }, "Test 4: setting onpointerenter on the window"); |
| +})(); |
| + |
| +</script> |
| +</body> |