blob: d724a70b34a4317c470ff7c9b43ac0b04e2c40da [file] [log] [blame]
<!doctype html>
<!--
Tests that the provided WebXR device has the expected capabilities
-->
<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/webxr_boilerplate.js"></script>
<script>
var expectations = {
"Daydream": {
"immersive": true,
"non-immersive": true,
}
};
var t = async_test("XRDevice capabilities match expectations");
function stepCheckCapabilities(device) {
if (!(device in expectations)) {
t.step_func_done( () => {
assert_unreached("Given device " + device + " not in expectations");
})();
return;
}
let expected = expectations[device];
var supportsNonImmersive;
var supportsImmersive;
var ctx = webglCanvas.getContext("xrpresent");
xrDevice.supportsSession(
{immersive: false, outputContext: ctx}).then( () => {
supportsNonImmersive = true;
}, () => {
supportsNonImmersive = false;
}).then( () => {
xrDevice.supportsSession({immersive: true}).then( () => {
supportsImmersive = true;
}, () => {
supportsImmersive = false;
}).then( () => {
t.step( () => {
assert_equals(supportsNonImmersive, expected["non-immersive"],
'Device supports non-immersive sessions');
assert_equals(supportsImmersive, expected["immersive"],
'Device supports immersive sessions');
});
t.done();
});
});
}
</script>
</body>
</html>