Files
test/frontend/__tests__/utils/key-converter.spec.ts
Benjamin Falch 2bc741fb78
Some checks failed
Mark Stale PRs / stale (push) Has been cancelled
adding monkeytype
2026-04-23 13:53:44 +02:00

47 lines
1.2 KiB
TypeScript

import { describe, it, expect } from "vitest";
import { readFileSync } from "fs";
import { layoutKeyToKeycode } from "../../src/ts/utils/key-converter";
const isoDvorak = JSON.parse(
readFileSync(
import.meta.dirname + "/../../static/layouts/swedish_dvorak.json",
"utf-8",
),
);
const dvorak = JSON.parse(
readFileSync(
import.meta.dirname + "/../../static/layouts/dvorak.json",
"utf-8",
),
);
describe("key-converter", () => {
describe("layoutKeyToKeycode", () => {
it("handles unknown key", () => {
const keycode = layoutKeyToKeycode("🤷", isoDvorak);
expect(keycode).toBeUndefined();
});
it("handles iso backslash", () => {
const keycode = layoutKeyToKeycode("*", isoDvorak);
expect(keycode).toEqual("Backslash");
});
it("handles iso IntlBackslash", () => {
const keycode = layoutKeyToKeycode("<", isoDvorak);
expect(keycode).toEqual("IntlBackslash");
});
it("handles iso row4", () => {
const keycode = layoutKeyToKeycode("q", isoDvorak);
expect(keycode).toEqual("KeyX");
});
it("handles ansi", () => {
const keycode = layoutKeyToKeycode("q", dvorak);
expect(keycode).toEqual("KeyX");
});
});
});