X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/f291310bd26717330272d1be30e4a5b935220ce8..9e5d2dd07732d54da694d199c551b1818eeee3da:/src/smartxml/smartxml.test.js diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index 491c586..fb420db 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -220,6 +220,7 @@ describe('smartxml', function() { expect(node.contents()).to.have.length(1); }); }); + }); describe('Setting node attributes', function() { it('can set node attribute', function() { @@ -242,8 +243,6 @@ describe('smartxml', function() { expect(event.meta.oldVal).to.equal('value1'); }); }); - - }); }); describe('Basic TextNode properties', function() { @@ -1632,6 +1631,50 @@ describe('smartxml', function() { expect(doc.root.getAttr('smart')).to.equal('1'); expect(doc.root.getAttr('unaware')).to.equal('1'); }); + + it('can have associated metadata', function() { + var doc = getDocumentFromXML('
'), + metadata = Object.create({}); + + doc.registerExtension({document: {transformations: { + test: function() { + this.trigger('change'); + } + }}}); + + doc.startTransaction(metadata); + doc.test(); + doc.endTransaction(); + + var transaction = doc.undoStack[0]; + expect(transaction.metadata).to.equal(metadata); + }); + + it('can be rolled back', function() { + var doc = getDocumentFromXML('