Add test for BatchCommand
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1870 eee81c28-f429-11dd-99c0-75d572ba1dddmaster
parent
304d83f0ed
commit
1918ddae7a
|
@ -35,24 +35,14 @@
|
||||||
|
|
||||||
module('svgedit.history');
|
module('svgedit.history');
|
||||||
|
|
||||||
var MockCommand = function(opt_text) {
|
var MockCommand = function(opt_text) { this.text_ = opt_text; };
|
||||||
this.text_ = opt_text;
|
MockCommand.prototype.apply = function() {};
|
||||||
};
|
MockCommand.prototype.unapply = function() {};
|
||||||
MockCommand.prototype.apply = function() {
|
MockCommand.prototype.getText = function() { return this.text_; };
|
||||||
};
|
MockCommand.prototype.elements = function() { return []; };
|
||||||
MockCommand.prototype.unapply = function() {
|
|
||||||
};
|
|
||||||
MockCommand.prototype.getText = function() {
|
|
||||||
return this.text_;
|
|
||||||
};
|
|
||||||
MockCommand.prototype.elements = function() {
|
|
||||||
return [];
|
|
||||||
};
|
|
||||||
|
|
||||||
var MockHistoryEventHandler = function() {
|
var MockHistoryEventHandler = function() {};
|
||||||
};
|
MockHistoryEventHandler.prototype.handleHistoryEvent = function(eventType, command) {};
|
||||||
MockHistoryEventHandler.prototype.handleHistoryEvent = function(eventType, command) {
|
|
||||||
};
|
|
||||||
|
|
||||||
function setUp() {
|
function setUp() {
|
||||||
undoMgr = new svgedit.history.UndoManager();
|
undoMgr = new svgedit.history.UndoManager();
|
||||||
|
@ -522,6 +512,45 @@
|
||||||
tearDown();
|
tearDown();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Test BatchCommand', function() {
|
||||||
|
expect(13);
|
||||||
|
|
||||||
|
setUp();
|
||||||
|
|
||||||
|
var concatResult = '';
|
||||||
|
MockCommand.prototype.apply = function() { concatResult += this.text_; };
|
||||||
|
|
||||||
|
var batch = new svgedit.history.BatchCommand();
|
||||||
|
ok(batch.unapply);
|
||||||
|
ok(batch.apply);
|
||||||
|
ok(batch.addSubCommand);
|
||||||
|
ok(batch.isEmpty);
|
||||||
|
equals(typeof batch.unapply, typeof function(){});
|
||||||
|
equals(typeof batch.apply, typeof function(){});
|
||||||
|
equals(typeof batch.addSubCommand, typeof function(){});
|
||||||
|
equals(typeof batch.isEmpty, typeof function(){});
|
||||||
|
|
||||||
|
ok(batch.isEmpty());
|
||||||
|
|
||||||
|
batch.addSubCommand(new MockCommand('a'));
|
||||||
|
ok(!batch.isEmpty());
|
||||||
|
batch.addSubCommand(new MockCommand('b'));
|
||||||
|
batch.addSubCommand(new MockCommand('c'));
|
||||||
|
|
||||||
|
ok(!concatResult);
|
||||||
|
batch.apply();
|
||||||
|
equals(concatResult, 'abc');
|
||||||
|
|
||||||
|
MockCommand.prototype.apply = function() {};
|
||||||
|
MockCommand.prototype.unapply = function() { concatResult += this.text_; };
|
||||||
|
concatResult = '';
|
||||||
|
batch.unapply();
|
||||||
|
equals(concatResult, 'cba');
|
||||||
|
|
||||||
|
tearDown();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
Loading…
Reference in New Issue