<!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, ["pointerdown", "pointermove", "pointerup"]);

    const one = ui.finger();
    ui.sequence([
        one.begin({ x: 10, y: 10 }),
        one.stationary({ pressure: 500 }),
        one.end(),
    ]).then(() => {
        eventTracker.assertMatchesEvents([
            { id: 1, type: "pointerdown", x: 10, y: 10, pressure: 0 },
            { id: 1, type: "pointermove", x: 10, y: 10, pressure: 1 },
            { id: 1, type: "pointerup", x: 10, y: 10, pressure: 0 }
        ]);
        test.done();
    });
}, "Pointer events are fired as pressure changes.");

</script>
</body>
</html>