public IEnumerator WantsToQuitFalse() { var onQuit = false; OpenXRRuntime.wantsToQuit += () => true; OpenXRRuntime.wantsToQuit += () => false; OpenXRRuntime.wantsToQuit += () => true; OpenXRRestarter.Instance.onQuit += () => onQuit = true; InitializeAndStart(); yield return(new WaitForXrFrame(2)); MockRuntime.CauseInstanceLoss(); yield return(new WaitForLoaderShutdown()); Assert.IsTrue(OpenXRLoader.Instance == null, "OpenXR should not be running"); Assert.IsFalse(onQuit, "Quit was not called"); }
public IEnumerator CauseInstanceLoss() { bool instanceLost = false; MockRuntime.Instance.TestCallback = (methodName, param) => { if (methodName == nameof(OpenXRFeature.OnInstanceLossPending)) { instanceLost = true; } return(true); }; InitializeAndStart(); yield return(null); MockRuntime.CauseInstanceLoss(); yield return(new WaitForLoaderShutdown()); Assert.IsTrue(instanceLost); }