tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>