From 27a948e4abdf880b3e3527657152deb0f55d42bd Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 11 Apr 2026 05:17:24 +0200 Subject: [PATCH] Refactor pointer lock handling in tests --- .../first-person-navigation-controller.test.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/unit/first-person-navigation-controller.test.ts b/tests/unit/first-person-navigation-controller.test.ts index 89d30d74..09274ff8 100644 --- a/tests/unit/first-person-navigation-controller.test.ts +++ b/tests/unit/first-person-navigation-controller.test.ts @@ -47,9 +47,12 @@ describe("FirstPersonNavigationController", () => { it("can deactivate during a scene transition without releasing pointer lock", () => { const { context, domElement } = createRuntimeControllerContext(); const controller = new FirstPersonNavigationController(); - const exitPointerLockSpy = vi - .spyOn(document, "exitPointerLock") - .mockImplementation(() => undefined); + const exitPointerLockSpy = vi.fn(); + + Object.defineProperty(document, "exitPointerLock", { + configurable: true, + value: exitPointerLockSpy + }); Object.defineProperty(document, "pointerLockElement", { configurable: true, @@ -67,9 +70,12 @@ describe("FirstPersonNavigationController", () => { it("still releases pointer lock for a normal deactivation", () => { const { context, domElement } = createRuntimeControllerContext(); const controller = new FirstPersonNavigationController(); - const exitPointerLockSpy = vi - .spyOn(document, "exitPointerLock") - .mockImplementation(() => undefined); + const exitPointerLockSpy = vi.fn(); + + Object.defineProperty(document, "exitPointerLock", { + configurable: true, + value: exitPointerLockSpy + }); Object.defineProperty(document, "pointerLockElement", { configurable: true,