diff options
Diffstat (limited to 'testing/web-platform/tests/pointerevents/pointerevent_constructor.html')
-rw-r--r-- | testing/web-platform/tests/pointerevents/pointerevent_constructor.html | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/testing/web-platform/tests/pointerevents/pointerevent_constructor.html b/testing/web-platform/tests/pointerevents/pointerevent_constructor.html new file mode 100644 index 0000000000..3b278746e1 --- /dev/null +++ b/testing/web-platform/tests/pointerevents/pointerevent_constructor.html @@ -0,0 +1,118 @@ +<!doctype html> +<html> + <head> + <title>PointerEvent: Constructor test</title> + <meta name="viewport" content="width=device-width"> + <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <!-- Additional helper script for common checks across event types --> + </head> + <body> + <h1>PointerEvent: Dispatch custom event</h1> + <h4>Test Description: This test checks if PointerEvent constructor works properly.</h4> + <div id="target0"></div> + <script> + async_test(function() { + var target0 = document.getElementById("target0"); + // set values for non-default constructor + on_event(target0, "pointermove", this.step_func(function(event) { + generate_tests(assert_equals, [ + ["getCoalescedEvents().length", event.getCoalescedEvents().length, 2], + ["getPredictedEvents().length", event.getPredictedEvents().length, 2], + ["event.target", event.target, target0], + ["event.currentTarget", event.currentTarget, target0], + ["event.eventPhase", event.eventPhase, Event.AT_TARGET], + ["event.clientX", event.clientX, 310], + ["event.pointerType", event.pointerType, "pen"], + ["getCoalescedEvents()[0].clientX", event.getCoalescedEvents()[0].clientX, 300], + ["getCoalescedEvents()[1].clientX", event.getCoalescedEvents()[1].clientX, 310], + ["getPredictedEvents()[0].clientX", event.getPredictedEvents()[0].clientX, 320], + ["getPredictedEvents()[1].clientX", event.getPredictedEvents()[1].clientX, 330], + ]); + for (var i=0; i<event.getCoalescedEvents().length; i++) { + var coalescedEvent = event.getCoalescedEvents()[i]; + generate_tests(assert_equals, [ + ["getCoalescedEvents()[" + i + "].pointerId", coalescedEvent.pointerId, event.pointerId], + ["getCoalescedEvents()[" + i + "].pointerType", coalescedEvent.pointerType, event.pointerType], + ["getCoalescedEvents()[" + i + "].isPrimary", coalescedEvent.isPrimary, event.isPrimary], + ["getCoalescedEvents()[" + i + "].getCoalescedEvents().length", coalescedEvent.getCoalescedEvents().length, 0], + ["getCoalescedEvents()[" + i + "].getPredictedEvents().length", coalescedEvent.getPredictedEvents().length, 0], + ["getCoalescedEvents()[" + i + "].target", coalescedEvent.target, null], + ["getCoalescedEvents()[" + i + "].currentTarget", coalescedEvent.currentTarget, null], + ["getCoalescedEvents()[" + i + "].eventPhase", coalescedEvent.eventPhase, Event.NONE], + ["getCoalescedEvents()[" + i + "].cancelable", coalescedEvent.cancelable, false], + ["getCoalescedEvents()[" + i + "].bubbles", coalescedEvent.bubbles, false], + ["getCoalescedEvents()[" + i + "].offsetX", coalescedEvent.offsetX, 310 + (i==0?-10:0)], + ["getCoalescedEvents()[" + i + "].offsetY", coalescedEvent.offsetY, 0], + ]); + } + for (var i=0; i<event.getPredictedEvents().length; i++) { + var predictedEvent = event.getPredictedEvents()[i]; + generate_tests(assert_equals, [ + ["getPredictedEvents()[" + i + "].pointerId", predictedEvent.pointerId, event.pointerId], + ["getPredictedEvents()[" + i + "].pointerType", predictedEvent.pointerType, event.pointerType], + ["getPredictedEvents()[" + i + "].isPrimary", predictedEvent.isPrimary, event.isPrimary], + ["getPredictedEvents()[" + i + "].getCoalescedEvents().length", predictedEvent.getCoalescedEvents().length, 0], + ["getPredictedEvents()[" + i + "].getPredictedEvents().length", predictedEvent.getPredictedEvents().length, 0], + ["getPredictedEvents()[" + i + "].target", predictedEvent.target, null], + ["getPredictedEvents()[" + i + "].currentTarget", predictedEvent.currentTarget, null], + ["getPredictedEvents()[" + i + "].eventPhase", predictedEvent.eventPhase, Event.NONE], + ["getPredictedEvents()[" + i + "].cancelable", predictedEvent.cancelable, false], + ["getPredictedEvents()[" + i + "].bubbles", predictedEvent.bubbles, false], + ["getPredictedEvents()[" + i + "].offsetX", predictedEvent.offsetX, 310 + (i==0?10:20)], + ["getPredictedEvents()[" + i + "].offsetY", predictedEvent.offsetY, 0], + ]); + } + })); + on_event(target0, "pointerout", this.step_func(function(event) { + generate_tests(assert_equals, [ + ["default event.pointerType", event.pointerType, ""], + ["default getCoalescedEvents().length", event.getCoalescedEvents().length, 0], + ["default getPredictedEvents().length", event.getPredictedEvents().length, 0], + ]); + })); + on_event(target0, "pointerup", this.step_func(function(event) { + generate_tests(assert_equals, [ + ["type event.pointerType", event.pointerType, "foo"], + ]); + })); + + on_event(window, "load", this.step_func_done(function() { + assert_not_equals(window.PointerEvent, undefined); + + var pointerEventInitDict = + { + pointerId: 42, + pointerType: "pen", + isPrimary: true, + clientX: 300, + }; + + var p1 = new PointerEvent("pointermove", pointerEventInitDict); + pointerEventInitDict.clientX += 10; + var p2 = new PointerEvent("pointermove", pointerEventInitDict); + pointerEventInitDict.clientX += 10; + var p3 = new PointerEvent("pointermove", pointerEventInitDict); + pointerEventInitDict.clientX += 10; + var p4 = new PointerEvent("pointermove", pointerEventInitDict); + pointerEventInitDict.coalescedEvents = [p1, p2]; + pointerEventInitDict.predictedEvents = [p3, p4]; + pointerEventInitDict.clientX = 310; + var event = new PointerEvent("pointermove", pointerEventInitDict); + target0.dispatchEvent(event); + + var pointerEventDefault = new PointerEvent("pointerout"); + target0.dispatchEvent(pointerEventDefault); + + var pointerEventType = new PointerEvent("pointerup", { pointerType: "foo" } ); + target0.dispatchEvent(pointerEventType); + }, "PointerEvent constructor")); + }) + </script> + <div id="complete-notice"> + <p>The following pointer types were detected: <span id="pointertype-log"></span>.</p> + </div> + <div id="log"></div> + </body> +</html> |