summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/pointerevents/pointerevent_constructor.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/pointerevents/pointerevent_constructor.https.html')
-rw-r--r--testing/web-platform/tests/pointerevents/pointerevent_constructor.https.html118
1 files changed, 118 insertions, 0 deletions
diff --git a/testing/web-platform/tests/pointerevents/pointerevent_constructor.https.html b/testing/web-platform/tests/pointerevents/pointerevent_constructor.https.html
new file mode 100644
index 0000000000..3b278746e1
--- /dev/null
+++ b/testing/web-platform/tests/pointerevents/pointerevent_constructor.https.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>