xrViewerPose_views_sameObject.https.html (1215B)
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 = "XRViewerPose.views meets [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 views attribute is the same object each time we 15 // access it. This verifies that XRViewerPose does *not* do something 16 // spec-noncompliant such as creating and returning a new XRView array 17 // each time the attribute is accessed. 18 let viewerPose = xrFrame.getViewerPose(referenceSpace); 19 let views = viewerPose.views; 20 t.step(() => { 21 assert_equals(viewerPose.views, views, 22 "XRViewerPose.views returns the same object."); 23 }); 24 25 resolve(); 26 }); 27 }); 28 }); 29 }; 30 31 xr_session_promise_test( 32 testName, testFunction, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr'); 33 </script>