Browse Source

Merge branch 'dev' of https://github.com/artf/grapesjs into dev

pull/1069/head
Artur Arseniev 8 years ago
parent
commit
1e3395c738
  1. 2
      src/commands/view/CommandAbstract.js
  2. 2
      test/specs/commands/index.js
  3. 83
      test/specs/commands/view/CommandAbstract.js

2
src/commands/view/CommandAbstract.js

@ -107,6 +107,7 @@ module.exports = Backbone.View.extend({
const result = this.run(editor, editor, options);
editor.trigger(`run:${id}`, result, options);
return result;
},
/**
@ -120,6 +121,7 @@ module.exports = Backbone.View.extend({
editor.trigger(`stop:${id}:before`, options);
const result = this.stop(editor, editor, options);
editor.trigger(`stop:${id}`, result, options);
return result;
},
/**

2
test/specs/commands/index.js

@ -1,5 +1,6 @@
var Commands = require('commands');
var Models = require('./model/CommandModels');
var CommandAbstract = require('./view/CommandAbstract');
describe('Commands', () => {
describe('Main', () => {
@ -61,3 +62,4 @@ describe('Commands', () => {
});
Models.run();
CommandAbstract.run();

83
test/specs/commands/view/CommandAbstract.js

@ -0,0 +1,83 @@
const CommandAbstract = require('commands/view/CommandAbstract');
const Editor = require('editor/model/Editor');
module.exports = {
run() {
describe('CommandAbstract', () => {
let editor, editorTriggerSpy, command;
beforeEach(() => {
editor = new Editor();
editorTriggerSpy = sinon.spy(editor, 'trigger');
command = new CommandAbstract();
command.id = 'test';
});
afterEach(() => {
command = null;
editorTriggerSpy = null;
editor = null;
});
it('callRun returns result when no "abort" option specified', () => {
const runStub = sinon.stub(command, 'run').returns('result');
const result = command.callRun(editor);
expect(editorTriggerSpy.calledTwice).toEqual(true);
expect(editorTriggerSpy.getCall(0).args).toEqual([
'run:test:before',
{}
]);
expect(editorTriggerSpy.getCall(1).args).toEqual([
'run:test',
'result',
{}
]);
expect(result).toEqual('result');
expect(runStub.calledOnce).toEqual(true);
});
it('callRun returns undefined when "abort" option is specified', () => {
const runStub = sinon.stub(command, 'run').returns('result');
const result = command.callRun(editor, { abort: true });
expect(editorTriggerSpy.calledTwice).toEqual(true);
expect(editorTriggerSpy.getCall(0).args).toEqual([
'run:test:before',
{ abort: true }
]);
expect(editorTriggerSpy.getCall(1).args).toEqual([
'abort:test',
{ abort: true }
]);
expect(result).toEqual(undefined);
expect(runStub.notCalled).toEqual(true);
});
it('callStop returns result', () => {
const stopStub = sinon.stub(command, 'stop').returns('stopped');
const result = command.callStop(editor);
expect(editorTriggerSpy.calledTwice).toEqual(true);
expect(editorTriggerSpy.getCall(0).args).toEqual([
'stop:test:before',
{}
]);
expect(editorTriggerSpy.getCall(1).args).toEqual([
'stop:test',
'stopped',
{}
]);
expect(result).toEqual('stopped');
expect(stopStub.calledOnce).toEqual(true);
});
});
}
};
Loading…
Cancel
Save