xrSession_end.https.html (1425B)
1 <!DOCTYPE html> 2 <body> 3 <script src=/resources/testharness.js></script> 4 <script src=/resources/testharnessreport.js></script> 5 <script src="resources/webxr_util.js"></script> 6 <script src="resources/webxr_test_constants.js"></script> 7 8 <script> 9 const immersivetestName = "end event fires when immersive session ends"; 10 const nonimmersiveTestName = "end event fires when non-immersive session ends"; 11 let watcherDone = new Event("watcherdone"); 12 const fakeDeviceInitParams = TRACKED_IMMERSIVE_DEVICE; 13 14 let testFunction = function(session, testDeviceController, t) { 15 let eventWatcher = new EventWatcher(t, session, ["end", "watcherdone"]); 16 let eventPromise = eventWatcher.wait_for(["end", "watcherdone"]); 17 18 function onSessionEnd(event) { 19 t.step( () => { 20 assert_equals(event.session, session); 21 22 let eventSession = event.session; 23 assert_equals(eventSession, event.session, 24 "XRSessionEvent.session returns the same object."); 25 26 session.dispatchEvent(watcherDone); 27 }); 28 } 29 session.addEventListener("end", onSessionEnd, false); 30 session.end(); 31 32 return eventPromise; 33 }; 34 35 xr_session_promise_test(immersivetestName, testFunction, 36 fakeDeviceInitParams, 'immersive-vr'); 37 xr_session_promise_test(nonimmersiveTestName, testFunction, 38 fakeDeviceInitParams, 'inline'); 39 </script> 40 </body>