mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-22 08:46:39 -06:00
64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
/////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin 4 - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
//////////////////////////////////////////////////////////////
|
|
import {KeyboardShortcutAction} from 'pgadmin.tools.erd/erd_tool/components/ERDTool';
|
|
|
|
describe('KeyboardShortcutAction', ()=>{
|
|
let keyAction = null;
|
|
let key1 = {
|
|
alt: true,
|
|
control: true,
|
|
shift: false,
|
|
key: {
|
|
key_code: 65,
|
|
},
|
|
};
|
|
let key2 = {
|
|
alt: false,
|
|
control: true,
|
|
shift: false,
|
|
key: {
|
|
key_code: 66,
|
|
},
|
|
};
|
|
let handler1 = jest.fn();
|
|
let handler2 = jest.fn();
|
|
|
|
beforeAll(()=>{
|
|
jest.spyOn(KeyboardShortcutAction.prototype, 'shortcutKey');
|
|
keyAction = new KeyboardShortcutAction([
|
|
[key1, handler1],
|
|
[key2, handler2],
|
|
]);
|
|
});
|
|
|
|
it('init', ()=>{
|
|
expect(Object.keys(keyAction.shortcuts).length).toBe(2);
|
|
});
|
|
|
|
it('shortcutKey', ()=>{
|
|
expect(keyAction.shortcutKey(true, true, true, true, 65)).toBe('true:true:true:true:65');
|
|
expect(keyAction.shortcutKey(true, false, true, true, 65)).toBe('true:false:true:true:65');
|
|
expect(keyAction.shortcutKey(true, true, false, true, 65)).toBe('true:true:false:true:65');
|
|
expect(keyAction.shortcutKey(true, true, true, false, 65)).toBe('true:true:true:false:65');
|
|
expect(keyAction.shortcutKey(false, true, true, true, 65)).toBe('false:true:true:true:65');
|
|
});
|
|
|
|
it('callHandler', ()=>{
|
|
let keyEvent = {altKey: key1.alt, ctrlKey: key1.control, shiftKey: key1.shift, metaKey: false, keyCode:key1.key.key_code,
|
|
stopPropagation: jest.fn(), preventDefault: jest.fn()};
|
|
keyAction.callHandler(keyEvent);
|
|
expect(handler1).toHaveBeenCalled();
|
|
|
|
keyEvent = {altKey: key2.alt, ctrlKey: key2.control, shiftKey: key2.shift, metaKey: false, keyCode:key2.key.key_code,
|
|
stopPropagation: jest.fn(), preventDefault: jest.fn()};
|
|
keyAction.callHandler(keyEvent);
|
|
expect(handler2).toHaveBeenCalled();
|
|
});
|
|
});
|