| <!DOCTYPE html> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="resources/fake-vr-displays.js"></script> |
| <script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> |
| <script src="file:///gen/device/vr/vr_service.mojom.js"></script> |
| <script src="resources/mock-vr-service.js"></script> |
| <script src="resources/test-constants.js"></script> |
| <canvas id="webgl-canvas"></canvas> |
| <script src="resources/presentation-setup.js"></script> |
| <script> |
| let fakeDisplays = fakeVRDisplays(); |
| let fakeDisplay = fakeDisplays["FakeRoomScale"]; |
| |
| vr_test( (t) => { |
| return navigator.getVRDisplays().then( (displays) => { |
| let display = displays[0]; |
| let expectedParams = fakeDisplay.stageParameters; |
| let actualParams = display.stageParameters; |
| |
| t.step( () => { |
| assert_true(display.capabilities.hasExternalDisplay); |
| assert_true(display.capabilities.hasPosition); |
| assert_equals(expectedParams.standingTransform.length, |
| actualParams.sittingToStandingTransform.length); |
| assert_equals(expectedParams.standingTransform.length, 16); |
| for (let i = 0; i < expectedParams.standingTransform.length; i++) { |
| assert_approx_equals(expectedParams.standingTransform[i], |
| actualParams.sittingToStandingTransform[i], FLOAT_EPSILON); |
| } |
| |
| assert_approx_equals(expectedParams.sizeX, actualParams.sizeX, |
| FLOAT_EPSILON); |
| assert_approx_equals(expectedParams.sizeZ, actualParams.sizeZ, |
| FLOAT_EPSILON); |
| }, "Expected and actual values match"); |
| |
| t.done(); |
| }, (err) => { |
| t.step( () => { |
| assert_unreached(err); |
| }, "getVRDisplays rejected"); |
| t.done(); |
| }); |
| }, [fakeDisplay], |
| "Test actual stageParameters match expected parameters"); |
| |
| </script> |