keys.test.ts 803 B

123456789101112131415161718
  1. import { describe, expect, it } from "vitest";
  2. import { arrowDirection } from "../src/keys.js";
  3. describe("arrowDirection (raw input → adjacent tile delta)", () => {
  4. it("maps the four arrow keys to grid deltas", () => {
  5. expect(arrowDirection("key:ArrowUp")).toEqual({ dx: 0, dy: -1 });
  6. expect(arrowDirection("key:ArrowDown")).toEqual({ dx: 0, dy: 1 });
  7. expect(arrowDirection("key:ArrowLeft")).toEqual({ dx: -1, dy: 0 });
  8. expect(arrowDirection("key:ArrowRight")).toEqual({ dx: 1, dy: 0 });
  9. });
  10. it("rejects non-arrow and malformed inputs", () => {
  11. expect(arrowDirection("key:Space")).toBeUndefined();
  12. expect(arrowDirection("pointer:click:1:2")).toBeUndefined();
  13. expect(arrowDirection("key:")).toBeUndefined();
  14. expect(arrowDirection("")).toBeUndefined();
  15. });
  16. });