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");
        }
Ejemplo n.º 2
0
        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);
        }