Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<html>
<head>
<title>VRController DisplayId</title>
<meta name="timeout" content="long"/>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="VRSimulationDriver.js"></script>
<script src="runVRTest.js"></script>
</head>
<body>
<script>
"use strict";
var vrDisplay;
var controllerCount = 0;
function addController() {
promise_test((test) => {
return VRSimulationDriver.AttachVRController().then((controller) => {
controller.newButtonEvent(0, true);
});
}, "Finish to add VRController.");
}
function listenControllerEvents() {
async_test(function(t) {
window.addEventListener("gamepadbuttondown", function(e) {
assert_equals(e.gamepad.displayId, vrDisplay.displayId, "gamepad.displayId should be equal to vrDisplay.");
assert_equals(e.gamepad.id, "Puppet Gamepad", "gamepad.id must be equal to 'Puppet Gamepad'.");
++controllerCount;
if (controllerCount == 2) {
t.done();
}
});
}, "Finish to verify VRController.displayId.");
}
function startTest() {
promise_test((test) => {
listenControllerEvents();
return VRSimulationDriver.AttachWebVRDisplay().then(() => {
return navigator.getVRDisplays().then((displays) => {
vrDisplay = displays[0];
assert_equals(displays.length, 1, "displays.length must be one after attach.");
assert_equals(vrDisplay.displayName, "Puppet HMD", "display.displayName must be equal to 'Puppet HMD'.");
addController();
addController();
});
});
}, "Finish to add VRDisplay.");
}
runVRTest(startTest);
</script>
</body>
</html>