pointerevent_constructor.html (5378B)
1 <!doctype html> 2 <html> 3 <head> 4 <title>PointerEvent: Constructor 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 <!-- Additional helper script for common checks across event types --> 10 </head> 11 <body> 12 <h1>PointerEvent: Dispatch custom event</h1> 13 <h4>Test Description: This test checks if PointerEvent constructor works properly.</h4> 14 <div id="target0"></div> 15 <script> 16 async_test(function() { 17 var target0 = document.getElementById("target0"); 18 // set values for non-default constructor 19 on_event(target0, "pointermove", this.step_func(function(event) { 20 generate_tests(assert_equals, [ 21 ["getCoalescedEvents in event", "getCoalescedEvents" in event, false], 22 ["getPredictedEvents().length", event.getPredictedEvents().length, 2], 23 ["event.target", event.target, target0], 24 ["event.currentTarget", event.currentTarget, target0], 25 ["event.eventPhase", event.eventPhase, Event.AT_TARGET], 26 ["event.clientX", event.clientX, 310], 27 ["event.pointerType", event.pointerType, "pen"], 28 ["getPredictedEvents()[0].clientX", event.getPredictedEvents()[0].clientX, 320], 29 ["getPredictedEvents()[1].clientX", event.getPredictedEvents()[1].clientX, 330], 30 ]); 31 for (var i=0; i<event.getPredictedEvents().length; i++) { 32 var predictedEvent = event.getPredictedEvents()[i]; 33 generate_tests(assert_equals, [ 34 ["getPredictedEvents()[" + i + "].pointerId", predictedEvent.pointerId, event.pointerId], 35 ["getPredictedEvents()[" + i + "].pointerType", predictedEvent.pointerType, event.pointerType], 36 ["getPredictedEvents()[" + i + "].isPrimary", predictedEvent.isPrimary, event.isPrimary], 37 ["getPredictedEvents()[" + i + "].getPredictedEvents().length", predictedEvent.getPredictedEvents().length, 0], 38 ["getPredictedEvents()[" + i + "].target", predictedEvent.target, null], 39 ["getPredictedEvents()[" + i + "].currentTarget", predictedEvent.currentTarget, null], 40 ["getPredictedEvents()[" + i + "].eventPhase", predictedEvent.eventPhase, Event.NONE], 41 ["getPredictedEvents()[" + i + "].cancelable", predictedEvent.cancelable, false], 42 ["getPredictedEvents()[" + i + "].bubbles", predictedEvent.bubbles, false], 43 ["getPredictedEvents()[" + i + "].offsetX", predictedEvent.offsetX, 310 + (i==0?10:20)], 44 ["getPredictedEvents()[" + i + "].offsetY", predictedEvent.offsetY, 0], 45 ]); 46 } 47 })); 48 on_event(target0, "pointerout", this.step_func(function(event) { 49 generate_tests(assert_equals, [ 50 ["default event.pointerType", event.pointerType, ""], 51 ["default getPredictedEvents().length", event.getPredictedEvents().length, 0], 52 ]); 53 })); 54 on_event(target0, "pointerup", this.step_func(function(event) { 55 generate_tests(assert_equals, [ 56 ["type event.pointerType", event.pointerType, "foo"], 57 ]); 58 })); 59 60 on_event(window, "load", this.step_func_done(function() { 61 assert_not_equals(window.PointerEvent, undefined); 62 63 var pointerEventInitDict = 64 { 65 pointerId: 42, 66 pointerType: "pen", 67 isPrimary: true, 68 clientX: 300, 69 }; 70 71 var p1 = new PointerEvent("pointermove", pointerEventInitDict); 72 pointerEventInitDict.clientX += 10; 73 var p2 = new PointerEvent("pointermove", pointerEventInitDict); 74 pointerEventInitDict.clientX += 10; 75 var p3 = new PointerEvent("pointermove", pointerEventInitDict); 76 pointerEventInitDict.clientX += 10; 77 var p4 = new PointerEvent("pointermove", pointerEventInitDict); 78 pointerEventInitDict.coalescedEvents = [p1, p2]; 79 pointerEventInitDict.predictedEvents = [p3, p4]; 80 pointerEventInitDict.clientX = 310; 81 var event = new PointerEvent("pointermove", pointerEventInitDict); 82 target0.dispatchEvent(event); 83 84 var pointerEventDefault = new PointerEvent("pointerout"); 85 target0.dispatchEvent(pointerEventDefault); 86 87 var pointerEventType = new PointerEvent("pointerup", { pointerType: "foo" } ); 88 target0.dispatchEvent(pointerEventType); 89 }, "PointerEvent constructor")); 90 }) 91 </script> 92 <div id="complete-notice"> 93 <p>The following pointer types were detected: <span id="pointertype-log"></span>.</p> 94 </div> 95 <div id="log"></div> 96 </body> 97 </html>