X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0bd5926e9f6c5057d80e829ca5af83b19a58ecfc..e1f340cca43eafb33256f439cac74689d783f292:/src/smartxml/smartxml.test.js diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index 64e633f..8e67d74 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -815,11 +815,12 @@ describe('smartxml', function() { }); describe('Undo/redo', function() { + it('does work', function() { var doc = getDocumentFromXML('
Alice
'), span = doc.root.contents()[0]; - doc.transform('detach3', {node: span}); + doc.transform('detach2', {node: span}); doc.undo(); @@ -837,6 +838,38 @@ describe('smartxml', function() { expect(doc.root.contents()[0].contents()[0].getText()).to.equal('Alice'); }); + it('does work - merged text nodes case', function() { + var doc = getDocumentFromXML('
Alice has a cat.
'), + span = doc.root.contents()[1]; + + doc.transform('detach2', {node: span}); + + + doc.undo(); + + expect(doc.root.contents().length).to.equal(3); + console.log(doc.toXML()); + expect(doc.root.contents()[1].contents()[0].getText()).to.equal('has'); + + }); + it('dbg - don not store nodes in tranformation state!', function() { + var doc = getDocumentFromXML('
'), + a = doc.root.contents()[0], + b = doc.root.contents()[1]; + + doc.transform('detach2', {node: a}); + doc.transform('detach2', {node: b}); + doc.undo(); + doc.undo(); + expect(doc.root.contents().length).to.equal(2); + expect(doc.root.contents()[0].getTagName()).to.equal('a'); + expect(doc.root.contents()[1].getTagName()).to.equal('b'); + + doc.redo(); + doc.redo(); + expect(doc.root.contents().length).to.equal(0); + + }); }); });