UNPKG

grapesjs_codeapps

Version:

Free and Open Source Web Builder Framework/SC Modification

58 lines (49 loc) 1.51 kB
const Editor = require('editor/model/Editor'); const Keymaps = require('keymaps'); describe('Keymaps', () => { describe('Main', () => { let em; let obj; beforeEach(() => { em = new Editor(); obj = new Keymaps().init({ em }); }); test('Object exists', () => { expect(obj).toBeTruthy(); }); test('No keymaps inside', () => { var coll = obj.getAll(); expect(coll).toEqual({}); }); test('Add new keymap', () => { const id = 'test'; const keys = 'ctrl+a'; const handler = () => {}; const model = obj.add(id, 'ctrl+a', handler); expect(obj.get(id)).toEqual({ id, keys, handler }); }); test('Add keymap event triggers', () => { let called = 0; em.on('keymap:add', () => (called = 1)); const model = obj.add('tes', 'ctrl+a'); expect(called).toEqual(1); }); test('Remove keymap', () => { const id = 'test'; const keys = 'ctrl+a'; const handler = () => {}; const model = obj.add(id, 'ctrl+a', handler); const removed = obj.remove(id); expect(obj.get(id)).toEqual(undefined); expect(obj.getAll()).toEqual({}); expect(removed).toEqual({ id, keys, handler }); }); test('Remove keymap event triggers', () => { let called = 0; em.on('keymap:remove', () => (called = 1)); const model = obj.add('tes', 'ctrl+a'); const removed = obj.remove('tes'); expect(called).toEqual(1); }); }); });