| OLD | NEW |
| (Empty) | |
| 1 <!doctype html> |
| 2 <html> |
| 3 <head> |
| 4 <title>Element.hasPointerCapture test</title> |
| 5 <meta name="viewport" content="width=device-width"> |
| 6 <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> |
| 7 <script src="/resources/testharness.js"></script> |
| 8 <script src="/resources/testharnessreport.js"></script> |
| 9 <script type="text/javascript" src="pointerevent_support.js"></script> |
| 10 <script> |
| 11 var detected_pointertypes = {}; |
| 12 add_completion_callback(showPointerTypes); |
| 13 var test_pointerEvent = async_test("hasPointerCapture"); |
| 14 var listening_events = [ |
| 15 "pointerover", |
| 16 "pointerenter", |
| 17 "pointerout", |
| 18 "pointerleave", |
| 19 "pointermove", |
| 20 "gotpointercapture" |
| 21 ]; |
| 22 var set_capture_to_target0 = false; |
| 23 |
| 24 function run() { |
| 25 var target0 = document.getElementById("target0"); |
| 26 var target1 = document.getElementById("target1"); |
| 27 |
| 28 on_event(target0, "pointerdown", function (e) { |
| 29 detected_pointertypes[e.pointerType] = true; |
| 30 test_pointerEvent.step(function () { |
| 31 assert_equals(target0.hasPointerCapture(e.pointerId), fa
lse, |
| 32 "before target0.setPointerCapture, target0
.hasPointerCapture should be false"); |
| 33 }); |
| 34 target1.setPointerCapture(e.pointerId); |
| 35 test_pointerEvent.step(function () { |
| 36 assert_equals(target0.hasPointerCapture(e.pointerId), fa
lse, |
| 37 "after target1.setPointerCapture, target0.
hasPointerCapture should be false"); |
| 38 }); |
| 39 target0.setPointerCapture(e.pointerId); |
| 40 set_capture_to_target0 = true; |
| 41 // hasPointerCapture will return true immediately after a ca
ll to setPointerCapture |
| 42 test_pointerEvent.step(function () { |
| 43 assert_equals(target0.hasPointerCapture(e.pointerId), tr
ue, |
| 44 "after target0.setPointerCapture, target0.
hasPointerCapture should be true"); |
| 45 }); |
| 46 // hasPointerCapture will return false immediately after a c
all to releasePointerCapture |
| 47 target0.releasePointerCapture(e.pointerId); |
| 48 set_capture_to_target0 = false; |
| 49 test_pointerEvent.step(function () { |
| 50 assert_equals(target0.hasPointerCapture(e.pointerId), fa
lse, |
| 51 "after target0.releasePointerCapture, targ
et0.hasPointerCapture should be false"); |
| 52 }); |
| 53 target0.setPointerCapture(e.pointerId); |
| 54 set_capture_to_target0 = true; |
| 55 test_pointerEvent.step(function () { |
| 56 assert_equals(target0.hasPointerCapture(e.pointerId), tr
ue, |
| 57 "after target0.setPointerCapture, target0.
hasPointerCapture should be true"); |
| 58 }); |
| 59 // If the element.hasPointerCapture is false element.release
PointerCapture does nothing |
| 60 target1.releasePointerCapture(e.pointerId); |
| 61 test_pointerEvent.step(function () { |
| 62 assert_equals(target0.hasPointerCapture(e.pointerId), tr
ue, |
| 63 "while target1.hasPointerCapture is false,
target1.releasePointerCapture should not change hasPointerCapture"); |
| 64 }); |
| 65 }); |
| 66 |
| 67 for (var i = 0; i < listening_events.length; i++) { |
| 68 on_event(target0, listening_events[i], function (e) { |
| 69 test_pointerEvent.step(function () { |
| 70 assert_equals(target0.hasPointerCapture(e.pointerId)
, set_capture_to_target0, |
| 71 "Received " + e.type + " target0.hasPo
interCapture should be " + set_capture_to_target0); |
| 72 }); |
| 73 }); |
| 74 } |
| 75 |
| 76 on_event(target0, "pointerup", function (e) { |
| 77 // Immediately after firing the pointerup or pointercancel e
vents, a user agent must clear |
| 78 // the pending pointer capture target override for the point
erId, and then run |
| 79 // "Process Pending Pointer Capture" steps to fire lostpoint
ercapture if necessary. |
| 80 test_pointerEvent.step(function () { |
| 81 assert_equals(target0.hasPointerCapture(e.pointerId), tr
ue, |
| 82 "pointerup target0.hasPointerCapture shoul
d be true"); |
| 83 }); |
| 84 set_capture_to_target0 = false; |
| 85 }); |
| 86 |
| 87 on_event(target0, "lostpointercapture", function (e) { |
| 88 test_pointerEvent.step(function () { |
| 89 assert_equals(target0.hasPointerCapture(e.pointerId), fa
lse, |
| 90 "pointerup target0.hasPointerCapture shoul
d be false"); |
| 91 }); |
| 92 test_pointerEvent.done(); |
| 93 }); |
| 94 } |
| 95 </script> |
| 96 </head> |
| 97 <body onload="run()"> |
| 98 <h1>Element.hasPointerCapture test</h1> |
| 99 <h4> |
| 100 Test Description: This test checks if Element.hasPointerCapture retu
rns value correctly |
| 101 <ol> |
| 102 <li> Press black rectangle and do not release. |
| 103 <li> Move your pointer to yellow rectangle. |
| 104 <li> Release the pointer with no other move after that. |
| 105 </ol> |
| 106 </h4> |
| 107 <p> |
| 108 <div id="target0" style="background:black"></div> |
| 109 <div id="target1" style="background:yellow"></div> |
| 110 <div id="complete-notice"> |
| 111 <p>The following pointer types were detected: <span id="pointertype-
log"></span>.</p> |
| 112 </div> |
| 113 <div id="log"></div> |
| 114 </body> |
| 115 </html> |
| OLD | NEW |