summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html')
-rw-r--r--testing/web-platform/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html142
1 files changed, 142 insertions, 0 deletions
diff --git a/testing/web-platform/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html b/testing/web-platform/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html
new file mode 100644
index 0000000000..55db05353f
--- /dev/null
+++ b/testing/web-platform/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html>
+<!--
+ Tentative; contingent on merge of:
+ https://github.com/w3c/pointerevents/pull/495
+
+ This manual test validates the behavior of PointerEvent.deviceProperties.uniqueId.
+ Specifically, this test ensures that pointing devices get their own unique id, and
+ that the unique id is persistent over the session.
+
+ In order to run this test, it is necessary to have multiple pointing devices; such as a
+ pen and a mouse. Please follow the instructions exactly as written in order to ensure
+ the correct results are obtained.
+-->
+<title>DeviceProperties.uniqueId is unique for pointer events from different devices</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ #instructions {
+ display: inline-block;
+ border-right: 1px solid black;
+ padding-right: 10px;
+ width: 600px;
+ }
+ #testcontainer {
+ display: inline-block;
+ width: 300px;
+ touch-action: none;
+ }
+
+ #currentuniqueid {
+ display: inline-block;
+ }
+
+ .point1 {
+ height: 50px;
+ width: 50px;
+ background-color: #00eeee;
+ display: inline-block;
+ }
+ .point2 {
+ height: 50px;
+ width: 50px;
+ background-color: #aa33aa;
+ display: inline-block;
+ float: right;
+ }
+
+ .testarea {
+ border: 1px solid #000000;
+ margin-bottom: 50px;
+ width: 100%;
+ }
+
+ p {
+ padding-bottom: 10px;
+ }
+
+ html {
+ font-family: Arial, Helvetica, sans-serif;
+ }
+</style>
+<html>
+<div id="instructions">
+<h2>Instructions</h2>
+<p>1. With one pointing device (pointing device #1), drag the pointer from A to B</p>
+<p>2. With another pointing device (pointing device #2), drag the pointer from C to D</p>
+<p>3. Repeat step 1.</p>
+<p>4. Repeat step 2.</p>
+<p>5. Click finish and verify the test passes. There should be 4 passing test cases. </p>
+</div>
+<div id="testcontainer">
+ <div>
+ Current pointer's unique id: <p id="currentuniqueid"></p>
+ </div>
+ <div class="testarea" id="device1">
+ <div class="point1">A</div>
+ <div class="point2">B</div>
+ </div>
+ <div class="testarea" id="device2">
+ <div class="point1">C</div>
+ <div class="point2">D</div>
+ </div>
+
+ <p>Click on the button below after completing. If a "PASS" result appears the test
+ passes, otherwise it fails</p>
+ <button onclick="Finish()">Finish Test</button>
+</div>
+</html>
+
+<script>
+ let device1Ids = [];
+ let device2Ids = [];
+
+ setup({explicit_timeout: true, explicit_done: true});
+
+ function LogDeviceId(event, list) {
+ if (event.deviceProperties) {
+ const uniqueId = event.deviceProperties.uniqueId;
+ currentuniqueid.innerText = uniqueId ? uniqueId : "Unknown";
+ if (!uniqueId) {
+ return;
+ }
+ list.push(uniqueId);
+ }
+ }
+
+ function LogDeviceId1(event) {
+ LogDeviceId(event, device1Ids);
+ }
+
+ function LogDeviceId2(event) {
+ LogDeviceId(event, device2Ids);
+ }
+
+ function Finish() {
+ let device1UniqueIds = new Set(device1Ids);
+ let device2UniqueIds = new Set(device2Ids);
+
+ test(function () {
+ assert_greater_than(device1Ids.length, 1, "Events from Device 1 have uniqueIds.");
+ assert_equals(device1UniqueIds.size, 1, "Device 1 has a consistent uniqueId.");
+ }, "uniqueId is consistent for device 1");
+ test(function () {
+ assert_greater_than(device2Ids.length, 1, "Events from Device 2 have uniqueIds.");
+ assert_equals(device2UniqueIds.size, 1, "Device 2 has a consistent uniqueId.");
+ }, "uniqueId is consistent for device 2");
+ test(function () {
+ // Ensure the two sets are different.
+ assert_equals(device1UniqueIds.intersection(device2UniqueIds).size, 0, "Device 1 and 2 have different uniqueIds.");
+ }, "uniqueId is unique to device 1 and device 2");
+ done();
+ }
+
+ device1.addEventListener("pointerdown", LogDeviceId1, false);
+ device1.addEventListener("pointermove", LogDeviceId1, false);
+ device1.addEventListener("pointerup", LogDeviceId1, false);
+
+ device2.addEventListener("pointerdown", LogDeviceId2, false);
+ device2.addEventListener("pointermove", LogDeviceId2, false);
+ device2.addEventListener("pointerup", LogDeviceId2, false);
+
+</script>