diff --git a/helpers/__tests__/platformutils.spec.js b/helpers/__tests__/platformutils.spec.js new file mode 100644 index 000000000..d38811305 --- /dev/null +++ b/helpers/__tests__/platformutils.spec.js @@ -0,0 +1,42 @@ +import { getPlatformSpecialKey } from "../platformutils" + +describe("getPlatformSpecialKey", () => { + let platformGetter + + beforeEach(() => { + platformGetter = jest.spyOn(navigator, "platform", "get") + }) + + test("returns '⌘' for Apple platforms", () => { + platformGetter.mockReturnValue("Mac") + expect(getPlatformSpecialKey()).toMatch("⌘") + + platformGetter.mockReturnValue("iPhone") + expect(getPlatformSpecialKey()).toMatch("⌘") + + platformGetter.mockReturnValue("iPad") + expect(getPlatformSpecialKey()).toMatch("⌘") + + platformGetter.mockReturnValue("iPod") + expect(getPlatformSpecialKey()).toMatch("⌘") + }) + + test("return 'Ctrl' for non-Apple platforms", () => { + platformGetter.mockReturnValue("Android") + expect(getPlatformSpecialKey()).toMatch("Ctrl") + + platformGetter.mockReturnValue("Windows") + expect(getPlatformSpecialKey()).toMatch("Ctrl") + + platformGetter.mockReturnValue("Linux") + expect(getPlatformSpecialKey()).toMatch("Ctrl") + }) + + test("returns 'Ctrl' for null/undefined platforms", () => { + platformGetter.mockReturnValue(null) + expect(getPlatformSpecialKey()).toMatch("Ctrl") + + platformGetter.mockReturnValue(undefined) + expect(getPlatformSpecialKey()).toMatch("Ctrl") + }) +})