71 lines
3.1 KiB
HTML
71 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset=utf-8>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
</head>
|
|
<body>
|
|
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
<script src="../utils.js"></script>
|
|
<script>
|
|
|
|
'use strict';
|
|
|
|
target_test((target, test) => {
|
|
target.style.touchAction = "none";
|
|
const eventTracker = new EventTracker(target, ["pointerover", "pointerenter", "pointerdown", "pointermove", "pointerup", "pointerout", "pointerleave"]);
|
|
|
|
const one = ui.finger();
|
|
const two = ui.finger();
|
|
const three = ui.finger();
|
|
ui.sequence([
|
|
one.begin({ x: 10, y: 10 }),
|
|
two.begin({ x: 50, y: 50 }),
|
|
two.move({ x: 70, y: 70 }),
|
|
one.move({ x: 30, y: 30 }),
|
|
one.end(),
|
|
two.move({ x: 50, y: 50 }),
|
|
two.end(),
|
|
three.begin({ x: 10, y: 10 }),
|
|
three.end(),
|
|
]).then(() => {
|
|
eventTracker.assertMatchesEvents([
|
|
// Yielded by one.begin({ x: 10, y: 10 }).
|
|
{ id: 1, type: "pointerover", x: 10, y: 10, isPrimary: true },
|
|
{ id: 1, type: "pointerenter", x: 10, y: 10, isPrimary: true },
|
|
{ id: 1, type: "pointerdown", x: 10, y: 10, isPrimary: true },
|
|
// Yielded by two.begin({ x: 50, y: 50 }).
|
|
{ id: 2, type: "pointerover", x: 50, y: 50, isPrimary: false },
|
|
{ id: 2, type: "pointerenter", x: 50, y: 50, isPrimary: false },
|
|
{ id: 2, type: "pointerdown", x: 50, y: 50, isPrimary: false },
|
|
// Yielded by two.move({ x: 70, y: 70 }).
|
|
{ id: 2, type: "pointermove", x: 70, y: 70, isPrimary: false },
|
|
// Yielded by one.move({ x: 30, y: 30 }).
|
|
{ id: 1, type: "pointermove", x: 30, y: 30, isPrimary: true },
|
|
// Yielded by one.end().
|
|
{ id: 1, type: "pointerup", x: 30, y: 30, isPrimary: true },
|
|
{ id: 1, type: "pointerout", x: 30, y: 30, isPrimary: true },
|
|
{ id: 1, type: "pointerleave", x: 30, y: 30, isPrimary: true },
|
|
// Yielded by two.move({ x: 50, y: 50 }).
|
|
{ id: 2, type: "pointermove", x: 50, y: 50, isPrimary: false },
|
|
// Yielded by two.end().
|
|
{ id: 2, type: "pointerup", x: 50, y: 50, isPrimary: false },
|
|
{ id: 2, type: "pointerout", x: 50, y: 50, isPrimary: false },
|
|
{ id: 2, type: "pointerleave", x: 50, y: 50, isPrimary: false },
|
|
// Yielded by three.begin({ x: 10, y: 10 }).
|
|
{ id: 3, type: "pointerover", x: 10, y: 10, isPrimary: true },
|
|
{ id: 3, type: "pointerenter", x: 10, y: 10, isPrimary: true },
|
|
{ id: 3, type: "pointerdown", x: 10, y: 10, isPrimary: true },
|
|
// Yielded by three.end().
|
|
{ id: 3, type: "pointerup", x: 10, y: 10, isPrimary: true },
|
|
{ id: 3, type: "pointerout", x: 10, y: 10, isPrimary: true },
|
|
{ id: 3, type: "pointerleave", x: 10, y: 10, isPrimary: true },
|
|
]);
|
|
test.done();
|
|
});
|
|
}, "The first touch of a touch sequence has isPrimary = true.");
|
|
|
|
</script>
|
|
</body>
|
|
</html> |