diff options
Diffstat (limited to 'test/hotkey-util.test.js')
-rw-r--r-- | test/hotkey-util.test.js | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/test/hotkey-util.test.js b/test/hotkey-util.test.js index 5b8c4e73..d89d571d 100644 --- a/test/hotkey-util.test.js +++ b/test/hotkey-util.test.js @@ -18,12 +18,12 @@ /* eslint-disable no-multi-spaces */ -import {expect, test} from 'vitest'; +import {describe, expect, test} from 'vitest'; import {HotkeyUtil} from '../ext/js/input/hotkey-util.js'; /** */ function testCommandConversions() { - test('CommandConversions', () => { + describe('CommandConversions', () => { /** @type {{os: import('environment').OperatingSystem, command: string, expectedCommand: string, expectedInput: {key: string, modifiers: import('input').Modifier[]}}[]} */ const data = [ {os: 'win', command: 'Alt+F', expectedCommand: 'Alt+F', expectedInput: {key: 'KeyF', modifiers: ['alt']}}, @@ -44,18 +44,20 @@ function testCommandConversions() { const hotkeyUtil = new HotkeyUtil(); for (const {command, os, expectedInput, expectedCommand} of data) { - hotkeyUtil.os = os; - const input = structuredClone(hotkeyUtil.convertCommandToInput(command)); - expect(input).toStrictEqual(expectedInput); - const command2 = hotkeyUtil.convertInputToCommand(input.key, input.modifiers); - expect(command2).toStrictEqual(expectedCommand); + test(`${command} on ${os} -> ${JSON.stringify(expectedInput)}`, () => { + hotkeyUtil.os = os; + const input = structuredClone(hotkeyUtil.convertCommandToInput(command)); + expect(input).toStrictEqual(expectedInput); + const command2 = hotkeyUtil.convertInputToCommand(input.key, input.modifiers); + expect(command2).toStrictEqual(expectedCommand); + }); } }); } /** */ function testDisplayNames() { - test('DisplayNames', () => { + describe('DisplayNames', () => { /** @type {{os: import('environment').OperatingSystem, key: ?string, modifiers: import('input').Modifier[], expected: string}[]} */ const data = [ {os: 'win', key: null, modifiers: [], expected: ''}, @@ -136,17 +138,18 @@ function testDisplayNames() { ]; const hotkeyUtil = new HotkeyUtil(); - for (const {os, key, modifiers, expected} of data) { + + test.each(data)('$key with $modifiers on $os -> display value $expected', ({os, key, modifiers, expected}) => { hotkeyUtil.os = os; const displayName = hotkeyUtil.getInputDisplayValue(key, modifiers); expect(displayName).toStrictEqual(expected); - } + }); }); } /** */ function testSortModifiers() { - test('SortModifiers', () => { + describe('SortModifiers', () => { /** @type {{modifiers: import('input').Modifier[], expected: import('input').Modifier[]}[]} */ const data = [ {modifiers: [], expected: []}, @@ -155,9 +158,11 @@ function testSortModifiers() { const hotkeyUtil = new HotkeyUtil(); for (const {modifiers, expected} of data) { - const modifiers2 = hotkeyUtil.sortModifiers(modifiers); - expect(modifiers2).toStrictEqual(modifiers); - expect(modifiers2).toStrictEqual(expected); + test(`[${modifiers}] -> [${expected}]`, () => { + const modifiers2 = hotkeyUtil.sortModifiers(modifiers); + expect(modifiers2).toStrictEqual(modifiers); + expect(modifiers2).toStrictEqual(expected); + }); } }); } |