UNPKG

@platform/react

Version:

React refs and helpers.

93 lines (92 loc) 4.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var test_1 = require("../test"); var _1 = require("."); describe('keyboard', function () { describe('(static) parse', function () { it('string', function () { var test = function (pattern, expectedKeys, expectedModifiers) { if (expectedModifiers === void 0) { expectedModifiers = []; } var res = _1.Keyboard.parse(pattern); (0, test_1.expect)(res.keys).to.eql(expectedKeys); (0, test_1.expect)(res.modifiers).to.eql(expectedModifiers); }; test('', []); test('r', ['R']); test(' r ', ['R']); test('+r', ['R']); test('+r+', ['R']); test(' + r + ', ['R']); test('r+R+r', ['R']); test('cmd+l', ['L'], ['META']); test('MetA+l', ['L'], ['META']); test('ComMand+l', ['L'], ['META']); test('cmd+l+alt', ['L'], ['META', 'ALT']); test('cmd+ALT+Shift+l+aLt+P+ctrl+SHIFT', ['L', 'P'], ['META', 'ALT', 'SHIFT', 'CTRL']); test('CMD+ALT+J', ['J'], ['META', 'ALT']); test('ArrowUp', ['ArrowUp']); test('CMD+ArrowUp', ['ArrowUp'], ['META']); }); it('boolean', function () { var test = function (pattern) { var res = _1.Keyboard.parse(pattern); (0, test_1.expect)(res).to.eql({ keys: [], modifiers: [] }); }; test(true); test(false); }); it('undefined', function () { var test = function (pattern) { var res = _1.Keyboard.parse(pattern); (0, test_1.expect)(res).to.eql({ keys: [], modifiers: [] }); }; test(); test(undefined); }); it('default value', function () { var test = function (pattern, defaultValue, expectedKeys, expectedModifiers) { if (expectedModifiers === void 0) { expectedModifiers = []; } var res = _1.Keyboard.parse(pattern, defaultValue); (0, test_1.expect)(res.keys).to.eql(expectedKeys); (0, test_1.expect)(res.modifiers).to.eql(expectedModifiers); }; test(undefined, 'CMD+Z', ['Z'], ['META']); test('', 'CMD+Z', ['Z'], ['META']); test(' ', 'CMD+Z', ['Z'], ['META']); test(true, 'CMD+Z', ['Z'], ['META']); test(false, 'CMD+Z', [], []); }); }); describe('(static) includes', function () { var test = function (pattern, event, expected) { var res = _1.Keyboard.matchEvent(pattern, event); (0, test_1.expect)(res).to.eql(expected); }; it('from pattern object', function () { test(_1.Keyboard.parse('r'), { key: 'r' }, true); test(_1.Keyboard.parse('CMD+r'), { key: 'r', metaKey: true }, true); test(_1.Keyboard.parse('CMD+r'), { key: 'R' }, false); }); it('from pattern string', function () { test('r', { key: 'r' }, true); test('CMD+r', { key: 'r', metaKey: true }, true); test('CMD+r', { key: 'R', metaKey: true }, true); test('cmd+r', { key: 'R', metaKey: true }, true); test('CMD+ALT+SHIFT+CTRL+R', { key: 'r', metaKey: true, ctrlKey: true, altKey: true, shiftKey: true }, true); test('CMD+r', { key: 'R' }, false); test('ALT+r', { key: 'R' }, false); test('SHIFT+r', { key: 'R' }, false); test('CTRL+r', { key: 'R' }, false); test('CMD+SHIFT+L', { key: 'L', metaKey: true, shiftKey: true }, true); test('CMD+SHIFT+L', { key: 'L', metaKey: true }, false); test('CMD+L', { key: 'L', metaKey: true, shiftKey: true }, false); test('CMD+K', { key: 'k', metaKey: true }, true); test('s', { key: 's' }, true); test('s', { key: 'S' }, true); test('S', { key: 's' }, true); test('ArrowUp', { key: 'ArrowUp' }, true); test('CMD+ArrowUp', { key: 'ArrowUp' }, false); test('CMD+ArrowUp', { key: 'ArrowUp', metaKey: true }, true); }); }); });