Просмотр исходного кода

Added test spec for helpers/platformutils.js

Andrew Bastin 4 лет назад
Родитель
Сommit
4f93bc5721
1 измененных файлов с 42 добавлено и 0 удалено
  1. 42 0
      helpers/__tests__/platformutils.spec.js

+ 42 - 0
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")
+  })
+})