Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / shared / test / mail / shortcuts.spec.ts
blob5660bd406cf35da1b71252c2682a0b759ea1aec5
1 import { KeyboardKey } from '../../lib/interfaces';
2 import { isValidShortcut } from '../../lib/shortcuts/helpers';
4 describe('isValidShortcut - Validate keyboard shortcut', () => {
5     const aKey = {
6         key: KeyboardKey.A,
7         metaKey: false,
8         ctrlKey: false,
9         shiftKey: false,
10     } as KeyboardEvent;
11     const aKeyWithShift = {
12         key: KeyboardKey.A,
13         metaKey: false,
14         ctrlKey: false,
15         shiftKey: true,
16     } as KeyboardEvent;
17     const aKeyWithMeta = {
18         key: KeyboardKey.A,
19         metaKey: true,
20         ctrlKey: true,
21         shiftKey: false,
22     } as KeyboardEvent;
24     it('Should validate a single key shortcut', () => {
25         expect(isValidShortcut([KeyboardKey.A], aKey)).toBe(true);
26         expect(isValidShortcut([KeyboardKey.A], aKeyWithShift)).toBe(false);
27         expect(isValidShortcut([KeyboardKey.A], aKeyWithMeta)).toBe(false);
28     });
30     it('Should validate combined keys shortcut', () => {
31         expect(isValidShortcut([KeyboardKey.A, 'Shift'], aKeyWithShift)).toBe(true);
32         expect(isValidShortcut([KeyboardKey.A, 'Shift'], aKeyWithMeta)).toBe(false);
33         expect(isValidShortcut([KeyboardKey.A, 'Shift'], aKey)).toBe(false);
34     });
35 });