pointerevent_constructor.https.html (7409B)
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().length", event.getCoalescedEvents().length, 2], 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 ["getCoalescedEvents()[0].clientX", event.getCoalescedEvents()[0].clientX, 300], 29 ["getCoalescedEvents()[1].clientX", event.getCoalescedEvents()[1].clientX, 310], 30 ["getPredictedEvents()[0].clientX", event.getPredictedEvents()[0].clientX, 320], 31 ["getPredictedEvents()[1].clientX", event.getPredictedEvents()[1].clientX, 330], 32 ]); 33 for (var i=0; i<event.getCoalescedEvents().length; i++) { 34 var coalescedEvent = event.getCoalescedEvents()[i]; 35 generate_tests(assert_equals, [ 36 ["getCoalescedEvents()[" + i + "].pointerId", coalescedEvent.pointerId, event.pointerId], 37 ["getCoalescedEvents()[" + i + "].pointerType", coalescedEvent.pointerType, event.pointerType], 38 ["getCoalescedEvents()[" + i + "].isPrimary", coalescedEvent.isPrimary, event.isPrimary], 39 ["getCoalescedEvents()[" + i + "].getCoalescedEvents().length", coalescedEvent.getCoalescedEvents().length, 0], 40 ["getCoalescedEvents()[" + i + "].getPredictedEvents().length", coalescedEvent.getPredictedEvents().length, 0], 41 ["getCoalescedEvents()[" + i + "].target", coalescedEvent.target, null], 42 ["getCoalescedEvents()[" + i + "].currentTarget", coalescedEvent.currentTarget, null], 43 ["getCoalescedEvents()[" + i + "].eventPhase", coalescedEvent.eventPhase, Event.NONE], 44 ["getCoalescedEvents()[" + i + "].cancelable", coalescedEvent.cancelable, false], 45 ["getCoalescedEvents()[" + i + "].bubbles", coalescedEvent.bubbles, false], 46 ["getCoalescedEvents()[" + i + "].offsetX", coalescedEvent.offsetX, 310 + (i==0?-10:0)], 47 ["getCoalescedEvents()[" + i + "].offsetY", coalescedEvent.offsetY, 0], 48 ]); 49 } 50 for (var i=0; i<event.getPredictedEvents().length; i++) { 51 var predictedEvent = event.getPredictedEvents()[i]; 52 generate_tests(assert_equals, [ 53 ["getPredictedEvents()[" + i + "].pointerId", predictedEvent.pointerId, event.pointerId], 54 ["getPredictedEvents()[" + i + "].pointerType", predictedEvent.pointerType, event.pointerType], 55 ["getPredictedEvents()[" + i + "].isPrimary", predictedEvent.isPrimary, event.isPrimary], 56 ["getPredictedEvents()[" + i + "].getCoalescedEvents().length", predictedEvent.getCoalescedEvents().length, 0], 57 ["getPredictedEvents()[" + i + "].getPredictedEvents().length", predictedEvent.getPredictedEvents().length, 0], 58 ["getPredictedEvents()[" + i + "].target", predictedEvent.target, null], 59 ["getPredictedEvents()[" + i + "].currentTarget", predictedEvent.currentTarget, null], 60 ["getPredictedEvents()[" + i + "].eventPhase", predictedEvent.eventPhase, Event.NONE], 61 ["getPredictedEvents()[" + i + "].cancelable", predictedEvent.cancelable, false], 62 ["getPredictedEvents()[" + i + "].bubbles", predictedEvent.bubbles, false], 63 ["getPredictedEvents()[" + i + "].offsetX", predictedEvent.offsetX, 310 + (i==0?10:20)], 64 ["getPredictedEvents()[" + i + "].offsetY", predictedEvent.offsetY, 0], 65 ]); 66 } 67 })); 68 on_event(target0, "pointerout", this.step_func(function(event) { 69 generate_tests(assert_equals, [ 70 ["default event.pointerType", event.pointerType, ""], 71 ["default getCoalescedEvents().length", event.getCoalescedEvents().length, 0], 72 ["default getPredictedEvents().length", event.getPredictedEvents().length, 0], 73 ]); 74 })); 75 on_event(target0, "pointerup", this.step_func(function(event) { 76 generate_tests(assert_equals, [ 77 ["type event.pointerType", event.pointerType, "foo"], 78 ]); 79 })); 80 81 on_event(window, "load", this.step_func_done(function() { 82 assert_not_equals(window.PointerEvent, undefined); 83 84 var pointerEventInitDict = 85 { 86 pointerId: 42, 87 pointerType: "pen", 88 isPrimary: true, 89 clientX: 300, 90 }; 91 92 var p1 = new PointerEvent("pointermove", pointerEventInitDict); 93 pointerEventInitDict.clientX += 10; 94 var p2 = new PointerEvent("pointermove", pointerEventInitDict); 95 pointerEventInitDict.clientX += 10; 96 var p3 = new PointerEvent("pointermove", pointerEventInitDict); 97 pointerEventInitDict.clientX += 10; 98 var p4 = new PointerEvent("pointermove", pointerEventInitDict); 99 pointerEventInitDict.coalescedEvents = [p1, p2]; 100 pointerEventInitDict.predictedEvents = [p3, p4]; 101 pointerEventInitDict.clientX = 310; 102 var event = new PointerEvent("pointermove", pointerEventInitDict); 103 target0.dispatchEvent(event); 104 105 var pointerEventDefault = new PointerEvent("pointerout"); 106 target0.dispatchEvent(pointerEventDefault); 107 108 var pointerEventType = new PointerEvent("pointerup", { pointerType: "foo" } ); 109 target0.dispatchEvent(pointerEventType); 110 }, "PointerEvent constructor")); 111 }) 112 </script> 113 <div id="complete-notice"> 114 <p>The following pointer types were detected: <span id="pointertype-log"></span>.</p> 115 </div> 116 <div id="log"></div> 117 </body> 118 </html>