Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html |
| diff --git a/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html b/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c5f01bc6e6b97ac4b94ccc85e7ad069a10ae138e |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html |
| @@ -0,0 +1,56 @@ |
| +<!DOCTYPE html> |
| +<script src="../resources/testharness.js"></script> |
| +<script src="../resources/testharnessreport.js"></script> |
| +<script src="../resources/mojo-helpers.js"></script> |
| +<script src="resources/fake-vr-displays.js"></script> |
| +<script src="resources/mock-vr-service.js"></script> |
| +<canvas id="webgl-canvas"></canvas> |
| +<script src="resources/presentation-setup.js"></script> |
| +<script> |
| +let fakeDisplays = fakeVRDisplays(); |
| +let fakeDisplay = fakeDisplays["FakeMagicWindowOnly"]; |
| +// Hooray for floating point errors |
| +let floatEpsilon = 0.0000001; |
| + |
| +vr_test( (t) => { |
| + return navigator.getVRDisplays().then( (displays) => { |
| + t.step( () => { |
| + assert_true(displays != null); |
| + assert_equals(1, displays.length); |
| + }, "getVRDisplays returned correct results"); |
| + let display = displays[0]; |
| + |
| + function compareEyes(given, returned) { |
| + t.step( () => { |
| + assert_equals(given.offset.length, returned.offset.length); |
| + for (let i = 0; i < given.offset.length; i++) { |
| + assert_approx_equals(given.offset[i], returned.offset[i], |
| + floatEpsilon); |
| + } |
| + |
| + let givenFov = given.fieldOfView; |
| + let returnedFov = returned.fieldOfView; |
| + // Can't use Object.keys() and a loop - see crbug.com/678718 |
| + assert_equals(givenFov.upDegrees, returnedFov.upDegrees); |
|
bajones
2017/01/06 20:20:25
It seems inconsistent to use approx_equals above b
bsheedy
2017/01/06 22:14:18
Done.
|
| + assert_equals(givenFov.rightDegrees, returnedFov.rightDegrees); |
| + assert_equals(givenFov.downDegrees, returnedFov.downDegrees); |
| + assert_equals(givenFov.leftDegrees, returnedFov.leftDegrees); |
| + |
| + assert_equals(given.renderWidth, returned.renderWidth); |
| + assert_equals(given.renderHeight, returned.renderHeight); |
| + }, "Returned eye parameters match provided parameters"); |
| + } |
| + |
| + compareEyes(fakeDisplay.leftEye, display.getEyeParameters("left")); |
| + compareEyes(fakeDisplay.rightEye, display.getEyeParameters("right")); |
| + t.done(); |
| + }, (err) => { |
| + t.step( () => { |
| + assert_unreached(err); |
| + }, "getVRDisplays rejected"); |
| + t.done(); |
| + }); |
| +}, [fakeDisplay], |
| +"Test that returned eye parameters match the given parameters"); |
| + |
| +</script> |