3 <title>TestDriver actions: two touch points with one moving one pause
</title>
4 <script src=
"/resources/testharness.js"></script>
5 <script src=
"/resources/testharnessreport.js"></script>
6 <script src=
"/resources/testdriver.js"></script>
7 <script src=
"/resources/testdriver-actions.js"></script>
8 <script src=
"/resources/testdriver-vendor.js"></script>
9 <script src=
"touchEvents.js"></script>
19 background-color: blue;
28 promise_test(async t
=> {
29 const test1
= document
.getElementById("test1");
32 addPointerEventListeners(t
, test1
, events
);
34 const actions
= new test_driver
.Actions()
35 .addPointer("touchPointer1", "touch")
36 .addPointer("touchPointer2", "touch")
37 .pointerMove(0, 0, {origin
: test1
, sourceName
: "touchPointer1"})
38 .pointerMove(10, 0, {origin
: test1
, sourceName
: "touchPointer2"})
39 .pointerDown({sourceName
: "touchPointer1"})
40 .pointerDown({sourceName
: "touchPointer2"})
41 .pointerMove(0, 10, {origin
: test1
, sourceName
: "touchPointer1"})
42 .pointerUp({sourceName
: "touchPointer1"})
43 .pointerUp({sourceName
: "touchPointer2"});
47 eventEquals(events
[0], {type
: "pointerdown", pointerId
: 2, clientX
: 50, clientY
: 50});
48 eventEquals(events
[1], {type
: "pointerdown", pointerId
: 3, clientX
: 60, clientY
: 50});
49 // Allow one or two pointermove events
51 const moveEvents
= [events
[2]];
52 if (events
[3].type
=== "pointermove") {
54 moveEvents
.push(events
[3]);
56 for (const event
of moveEvents
) {
57 if (event
.pointerId
=== 2) {
58 eventEquals(event
, {type
: "pointermove", clientX
: 50, clientY
: 60});
60 eventEquals(event
, {type
: "pointermove", pointerId
: 3, clientX
: 60, clientY
: 50});
63 let remainingEvents
= events
.slice(index
);
64 assert_equals(remainingEvents
.length
, 2);
65 eventEquals(remainingEvents
[0], {type
: "pointerup", pointerId
: 2, clientX
: 50, clientY
: 60});
66 eventEquals(remainingEvents
[1], {type
: "pointerup", pointerId
: 3, clientX
: 60, clientY
: 50});