blob: 3af9cbe0c2d49d044b87c8ec4bed30a9a91b9e1f [file] [log] [blame]
<!doctype html>
<!--
Tests that the reported device capabilities match expectations.
-->
<html>
<head>
<link rel="stylesheet" type="text/css" href="../resources/webxr_e2e.css">
</head>
<body>
<canvas id="webgl-canvas"></canvas>
<script src="../../../../../../third_party/blink/web_tests/resources/testharness.js"></script>
<script src="../resources/webxr_e2e.js"></script>
<script src="../resources/webvr_boilerplate.js"></script>
<script>
// All the current test devices have the same expectations, but that will
// change with additional device support, especially desktop.
var android_expectation = {
"isPresenting": false,
"capabilities": {
"hasPosition": false,
"hasExternalDisplay": false,
"canPresent": true,
"maxLayers": 1,
},
}
var expectations = {
"angler": android_expectation, // Nexus 6P
"bullhead": android_expectation, // Nexus 5X
"hammerhead": android_expectation, // Nexus 5
"marlin": android_expectation, // Pixel XL
"vega": android_expectation, // Lenovo Mirage Solo
"sailfish": android_expectation, // Pixel
"taimen": android_expectation, // Pixel 2 XL
"walleye": android_expectation, // Pixel 2
"VR Orientation Device": { // GVR-less Magic Window implementation
"isPresenting": false,
"capabilities": {
"hasPosition": false,
"hasExternalDisplay": false,
"canPresent": false,
"maxLayers": 0,
}
},
}
var t = async_test("Device capabilities match expectations");
function stepCheckDeviceCapabilities(device) {
if (!(device in expectations)) {
t.step_func_done( () => {
assert_unreached("Given device " + device + " not in expectations");
})();
return;
}
let expectation = expectations[device];
t.step_func_done( () => {
assert_equals(vrDisplay["isPresenting"], expectation["isPresenting"]);
for (var capability in expectation["capabilities"]) {
assert_equals(vrDisplay["capabilities"][capability],
expectation["capabilities"][capability],
capability);
}
})();
}
</script>
</body>
</html>