expect(spy.callCount).to.equal(1);
expect(event.type).to.equal('nodeMoved');
expect(event.meta.node.sameNode(appended)).to.be.true;
+ expect(node.document.root.sameNode(event.meta.parent)).to.equal(true, 'previous parent attached to event meta');
});
it('emits nodeAdded event when prepending new node', function() {
expect(doc.root.getAttr('unaware')).to.equal('1');
});
});
+
+ describe('Regression tests', function() {
+ it('redos correctly after running its own undo followed by unaware transformation undo', function() {
+ var doc = getDocumentFromXML('<section t="0"></section>');
+
+ doc.registerExtension({elementNode: {transformations: {
+ unaware: function() {
+ this.triggerChangeEvent();
+ },
+ test: {
+ impl: function() {
+ this._$.attr('t', 1);
+ this.triggerChangeEvent();
+ },
+ undo: function() {
+ this._$.attr('t', 0);
+ }
+ }
+ }}});
+ doc.root.unaware();
+ doc.root.test();
+ doc.undo();
+ doc.undo();
+ doc.redo();
+ doc.redo();
+ expect(doc.root.getAttr('t')).to.equal('1');
+ });
+ });
});
});