diff options
Diffstat (limited to 'testing/web-platform/tests/webxr/render_state_vertical_fov_immersive.https.html')
-rw-r--r-- | testing/web-platform/tests/webxr/render_state_vertical_fov_immersive.https.html | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webxr/render_state_vertical_fov_immersive.https.html b/testing/web-platform/tests/webxr/render_state_vertical_fov_immersive.https.html new file mode 100644 index 0000000000..c09cd7c174 --- /dev/null +++ b/testing/web-platform/tests/webxr/render_state_vertical_fov_immersive.https.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/webxr_util.js"></script> +<script src="resources/webxr_test_constants.js"></script> + +<script> +let testName = "inlineVerticalFieldOfView is set appropriately on immersively sessions"; + +let fakeDeviceInitParams = TRACKED_IMMERSIVE_DEVICE; + +let testFunction = function(session, fakeDeviceController, t) { + return new Promise((resolve, reject) => { + // inlineVerticalFieldOfView should be null for immersive sessions; + t.step(() => { + assert_equals(session.renderState.inlineVerticalFieldOfView, null); + }); + + // Trying to set it should throw an exception + try { + session.updateRenderState({ + inlineVerticalFieldOfView: 1.0 + }); + + t.step(() => { + assert_unreached("Should not be able to set inlineVerticalFieldOfView on immersive sessions"); + }); + } catch(err) { + t.step(() => { + assert_equals(err.name, "InvalidStateError"); + }); + } + + resolve(); + }); +}; + +xr_session_promise_test( + testName, testFunction, fakeDeviceInitParams, 'immersive-vr'); + +</script> |