26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import { describe, expect, test } from 'bun:test'
|
|
|
|
import { formatShortcut, shortcutPlatform } from '#vue/editor/commands/shortcut'
|
|
|
|
describe('formatShortcut', () => {
|
|
test('formats shortcuts for macOS', () => {
|
|
expect(formatShortcut('MOD+D', 'mac')).toBe('⌘D')
|
|
expect(formatShortcut('MOD+SHIFT+H', 'mac')).toBe('⇧⌘H')
|
|
expect(formatShortcut('MOD+ALT+K', 'mac')).toBe('⌥⌘K')
|
|
expect(formatShortcut('SHIFT+A', 'mac')).toBe('⇧A')
|
|
})
|
|
|
|
test('formats shortcuts for Windows and Linux', () => {
|
|
expect(formatShortcut('MOD+D', 'windows')).toBe('Ctrl+D')
|
|
expect(formatShortcut('MOD+SHIFT+H', 'windows')).toBe('Ctrl+Shift+H')
|
|
expect(formatShortcut('MOD+ALT+K', 'linux')).toBe('Ctrl+Alt+K')
|
|
expect(formatShortcut('SHIFT+A', 'linux')).toBe('Shift+A')
|
|
})
|
|
|
|
test('detects platform from user agent', () => {
|
|
expect(shortcutPlatform('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)')).toBe('mac')
|
|
expect(shortcutPlatform('Mozilla/5.0 (Windows NT 10.0; Win64; x64)')).toBe('windows')
|
|
expect(shortcutPlatform('Mozilla/5.0 (X11; Linux x86_64)')).toBe('linux')
|
|
})
|
|
})
|