Update ThirdPersonNavigationController unit tests to use internal pointer handlers instead of global event dispatching
This commit is contained in:
@@ -113,6 +113,10 @@ function createRuntimeControllerContext(
|
|||||||
describe("ThirdPersonNavigationController", () => {
|
describe("ThirdPersonNavigationController", () => {
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
vi.restoreAllMocks();
|
vi.restoreAllMocks();
|
||||||
|
Object.defineProperty(navigator, "getGamepads", {
|
||||||
|
configurable: true,
|
||||||
|
value: undefined
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it("uses authored keyboard bindings instead of hardcoded WASD movement", () => {
|
it("uses authored keyboard bindings instead of hardcoded WASD movement", () => {
|
||||||
@@ -461,6 +465,9 @@ describe("ThirdPersonNavigationController", () => {
|
|||||||
cameraYawRadians: number;
|
cameraYawRadians: number;
|
||||||
pitchRadians: number;
|
pitchRadians: number;
|
||||||
targetAssistLookOffsetY: number;
|
targetAssistLookOffsetY: number;
|
||||||
|
handlePointerDown(event: PointerEvent): void;
|
||||||
|
handlePointerMove(event: PointerEvent): void;
|
||||||
|
handlePointerUp(): void;
|
||||||
};
|
};
|
||||||
const targetContext = {
|
const targetContext = {
|
||||||
...context,
|
...context,
|
||||||
@@ -484,19 +491,15 @@ describe("ThirdPersonNavigationController", () => {
|
|||||||
controllerInternals.pitchRadians = 1.1;
|
controllerInternals.pitchRadians = 1.1;
|
||||||
controllerInternals.targetAssistLookOffsetY = 0;
|
controllerInternals.targetAssistLookOffsetY = 0;
|
||||||
|
|
||||||
targetContext.domElement.dispatchEvent(
|
controllerInternals.handlePointerDown({
|
||||||
new PointerEvent("pointerdown", {
|
|
||||||
button: 0,
|
button: 0,
|
||||||
clientX: 0,
|
clientX: 0,
|
||||||
clientY: 0
|
clientY: 0
|
||||||
})
|
} as PointerEvent);
|
||||||
);
|
controllerInternals.handlePointerMove({
|
||||||
window.dispatchEvent(
|
|
||||||
new PointerEvent("pointermove", {
|
|
||||||
clientX: 30,
|
clientX: 30,
|
||||||
clientY: 12
|
clientY: 12
|
||||||
})
|
} as PointerEvent);
|
||||||
);
|
|
||||||
|
|
||||||
controller.update(0.016);
|
controller.update(0.016);
|
||||||
|
|
||||||
@@ -504,7 +507,7 @@ describe("ThirdPersonNavigationController", () => {
|
|||||||
expect(controllerInternals.pitchRadians).toBeCloseTo(1.1, 5);
|
expect(controllerInternals.pitchRadians).toBeCloseTo(1.1, 5);
|
||||||
expect(controllerInternals.targetAssistLookOffsetY).toBeCloseTo(0, 5);
|
expect(controllerInternals.targetAssistLookOffsetY).toBeCloseTo(0, 5);
|
||||||
|
|
||||||
window.dispatchEvent(new PointerEvent("pointerup"));
|
controllerInternals.handlePointerUp();
|
||||||
controller.deactivate(targetContext);
|
controller.deactivate(targetContext);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user