xrView_sameObject.https.html (1282B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="resources/webxr_util.js"></script> 5 <script src="resources/webxr_test_constants.js"></script> 6 7 <script> 8 let testName = "XRView attributes meet [SameObject] requirement"; 9 10 let testFunction = function(session, fakeDeviceController, t) { 11 return new Promise((resolve) => { 12 session.requestReferenceSpace('local').then((referenceSpace) => { 13 session.requestAnimationFrame((time, xrFrame) => { 14 // Make sure that the projectionMatrix and transform attributes on 15 // XRView always return the same object. 16 let viewerPose = xrFrame.getViewerPose(referenceSpace); 17 let view = viewerPose.views[0]; 18 19 let transform = view.transform; 20 let projectionMatrix = view.projectionMatrix; 21 22 t.step(() => { 23 assert_equals(transform, view.transform, 24 "XRView.transform returns the same object."); 25 assert_equals(projectionMatrix, view.projectionMatrix, 26 "XRView.projectionMatrix returns the same object."); 27 }); 28 29 resolve(); 30 }); 31 }); 32 }); 33 }; 34 35 xr_session_promise_test( 36 testName, testFunction, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr'); 37 </script>