| <!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 = "XRRigidTransform position and orientation meet [SameObject] requirements"; |
| |
| // xrRigidTransform_inverse.https.html already checks [SameObject] requirement |
| // for XRRigidTransform.inverse. It's in a separate test because there are |
| // additional constraints around how the inverse attribute should work besides |
| // just [SameObject]. |
| |
| let testFunction = |
| (session, fakeDeviceController, t) => new Promise((resolve, reject) => { |
| |
| let transform = new XRRigidTransform( |
| { x: -9.0, y: 8.0, z: -7.0 }, |
| { x: 6.0, y: -5.0, z: 4.0, w: 3.0 }); |
| |
| let position = transform.position; |
| let orientation = transform.orientation; |
| let matrix = transform.matrix; |
| t.step(() => { |
| assert_equals(position, transform.position, |
| "XRRigidTransform.position returns the same object."); |
| assert_equals(orientation, transform.orientation, |
| "XRRigidTransform.orientation returns the same object."); |
| assert_equals(matrix, transform.matrix, |
| "XRRigidTransform.matrix returns the same object."); |
| }); |
| |
| resolve(); |
| }); |
| |
| xr_session_promise_test(testName, testFunction, TRACKED_IMMERSIVE_DEVICE, |
| 'immersive-vr'); |
| |
| </script> |