<!DOCTYPE html>
<!--
Tentative; contingent on merge of:
https://github.com/w3c/pointerevents/pull/495
-->
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<style>
div {
user-select: none; // Prevents text selection on drag.
}
</style>
<div id="logger" draggable="false"></div>
<div id="console"></div>
<!-- This test verifies that pointerEvent.persistentDeviceId is 0
by default for a pointer with an invalid hardware id - in this case
a testdriver generated event, which does not support hardware id. -->
<script>
function CheckDeviceId(event) {
eventFired++;
assert_equals(event.persistentDeviceId, 0, "deviceId is 0");
}
window.addEventListener("pointerdown", CheckDeviceId, false);
window.addEventListener("pointermove", CheckDeviceId, false);
promise_test(async () => {
eventFired = 0;
let actions = new test_driver.Actions()
.addPointer("TestPointer", "pen")
.pointerDown()
.pointerMove(100, 100)
.pointerUp();
await actions.send();
assert_true(eventFired == 2);
}, 'PointerEvent.persistentDeviceId');
</script>