forked from phenom/healer-man
Release Healer Man 0.1.28
This commit is contained in:
1 parent
ed8b9e3719
commit
8c9809d3e0
23 files changed
+975
-55
No files matched your search
@@ -66,6 +66,33 @@ afterEach(() => {
|
||||
});
|
||||
|
||||
describe("gameplay input bindings", () => {
|
||||
it("consumes custom action keys before movement, menus and legacy action bindings", () => {
|
||||
stubInputEventTargets();
|
||||
const nextActions = inputActionSpies();
|
||||
nextActions.handleCustomKey = vi.fn(() => true);
|
||||
const dispose = installInput(nextActions);
|
||||
for (const code of ["KeyW", "KeyI", "Digit1"]) {
|
||||
const event = new Event("keydown", { cancelable: true });
|
||||
Object.defineProperties(event, { code: { value: code }, target: { value: null } });
|
||||
window.dispatchEvent(event);
|
||||
expect(event.defaultPrevented).toBe(true);
|
||||
}
|
||||
expect(nextActions.toggleInventory).not.toHaveBeenCalled();
|
||||
expect(nextActions.castActionBinding).not.toHaveBeenCalled();
|
||||
expect(nextActions.handleCustomKey).toHaveBeenCalledTimes(3);
|
||||
dispose();
|
||||
});
|
||||
it("does not fire the old numbered bindings when desktop bars are enabled", () => {
|
||||
stubInputEventTargets();
|
||||
const nextActions = inputActionSpies();
|
||||
nextActions.desktopActionBarsActive = () => true;
|
||||
const dispose = installInput(nextActions);
|
||||
const event = new Event("keydown", { cancelable: true });
|
||||
Object.defineProperties(event, { code: { value: "Digit1" }, target: { value: null } });
|
||||
window.dispatchEvent(event);
|
||||
expect(nextActions.castActionBinding).not.toHaveBeenCalled();
|
||||
dispose();
|
||||
});
|
||||
it("reserves I, P, N, and E for equipment and loot interactions", () => {
|
||||
expect(keyboardCommandForCode("KeyI")).toBe("inventory");
|
||||
expect(keyboardCommandForCode("KeyE")).toBe("loot");
|
||||
|
||||
Reference in new issue
Block a user