Add test for camera look using gamepad right stick without pointer lock

This commit is contained in:
2026-04-11 12:33:38 +02:00
parent 478baed1b6
commit a89a9ba58d

View File

@@ -189,4 +189,31 @@ describe("FirstPersonNavigationController", () => {
releasePointerLock: false
});
});
it("uses the gamepad right stick for camera look without requiring pointer lock", () => {
const { context } = createRuntimeControllerContext();
const controller = new FirstPersonNavigationController();
const getGamepads = vi.fn<() => Gamepad[]>(() => [
createMockGamepad({
axes: [0, 0, 1, 0]
})
]);
Object.defineProperty(navigator, "getGamepads", {
configurable: true,
value: getGamepads
});
controller.activate(context);
const initialCameraYaw = context.camera.rotation.y;
controller.update(1);
expect(context.camera.rotation.y).not.toBe(initialCameraYaw);
controller.deactivate(context, {
releasePointerLock: false
});
});
});