Browse Source

Add Keymaps tests

pull/540/head
Artur Arseniev 9 years ago
parent
commit
7367d320ef
  1. 4
      src/keymaps/index.js
  2. 1
      test/main.js
  3. 59
      test/specs/keymaps/index.js

4
src/keymaps/index.js

@ -9,7 +9,7 @@
*/ */
import { defaults, isString } from 'underscore'; import { defaults, isString } from 'underscore';
const keymaster = require('keymaster').noConflict(); const keymaster = require('keymaster');
module.exports = () => { module.exports = () => {
let config; let config;
@ -103,7 +103,7 @@ module.exports = () => {
* @return {Object} * @return {Object}
* @example * @example
* keymaps.getAll(); * keymaps.getAll();
* // -> [{...}, {...}, ...]; * // -> {id1: {}, id2: {}};
*/ */
getAll() { getAll() {
return keymaps; return keymaps;

1
test/main.js

@ -9,6 +9,7 @@ describe('Main', () => {
}); });
const path = './specs/'; const path = './specs/';
require(`${path}keymaps`);
require(`${path}asset_manager`); require(`${path}asset_manager`);
require(`${path}block_manager`); require(`${path}block_manager`);
require(`${path}code_manager`); require(`${path}code_manager`);

59
test/specs/keymaps/index.js

@ -1,7 +1,7 @@
const Editor = require('editor/model/Editor'); const Editor = require('editor/model/Editor');
const Keymaps = require('keymaps'); const Keymaps = require('keymaps');
describe.only('Keymaps', () => { describe('Keymaps', () => {
describe('Main', () => { describe('Main', () => {
@ -17,45 +17,44 @@ describe.only('Keymaps', () => {
expect(obj).toExist(); expect(obj).toExist();
}); });
it('No device inside', () => { it('No keymaps inside', () => {
var coll = obj.getAll(); var coll = obj.getAll();
expect(coll.length).toEqual(0); expect(coll).toEqual({});
}); });
it('Add new device', () => { it('Add new keymap', () => {
var model = obj.add(testNameDevice, testWidthDevice); const id = 'test';
expect(obj.getAll().length).toEqual(1); const keys = 'ctrl+a';
const handler = () => {};
const model = obj.add(id, 'ctrl+a', handler);
expect(obj.get(id)).toEqual({id, keys, handler});
}); });
it('Added device has correct data', () => { it('Add keymap event triggers', () => {
var model = obj.add(testNameDevice, testWidthDevice); let called = 0;
expect(model.get('name')).toEqual(testNameDevice); em.on('keymap:add', () => called = 1);
expect(model.get('width')).toEqual(testWidthDevice); const model = obj.add('tes', 'ctrl+a');
expect(called).toEqual(1);
}); });
it('Add device width options', () => { it('Remove keymap', () => {
var model = obj.add(testNameDevice, testWidthDevice, {opt: 'value'}); const id = 'test';
expect(model.get('opt')).toEqual('value'); 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});
}); });
it('The name of the device is unique', () => { it('Remove keymap event triggers', () => {
var model = obj.add(testNameDevice, testWidthDevice); let called = 0;
var model2 = obj.add(testNameDevice, '2px'); em.on('keymap:remove', () => called = 1);
expect(model).toEqual(model2); const model = obj.add('tes', 'ctrl+a');
const removed = obj.remove('tes');
expect(called).toEqual(1);
}); });
it('Get device by name', () => {
var model = obj.add(testNameDevice, testWidthDevice);
var model2 = obj.get(testNameDevice);
expect(model).toEqual(model2);
});
it('Render devices', () => {
expect(obj.render()).toExist();
});
}); });
DevicesView.run();
}); });

Loading…
Cancel
Save