X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/f1f9dfddb9e3958dcbdc47aea789c5e1448fb68c..7fbd869e69b05b5d9c9050aaf636b6660b6ace7c:/src/smartxml/smartxml.test.js?ds=sidebyside diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index a4ceaa4..e045788 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -336,6 +336,27 @@ describe('smartxml', function() { expect(rootContents[0].getText()).to.equal('Alice a cat'); }); + it('inserts node at index', function() { + var doc = getDocumentFromXML('
'), + b = doc.root.contents()[1]; + + var inserted = doc.root.insertAtIndex({tagName: 'test'}, 1); + + expect(doc.root.contents()[1].sameNode(inserted)).to.equal(true, 'inserted node returned'); + expect(b.getIndex()).to.equal(2, 'b node shifted right'); + }); + + it('appends node when inserting node at index out of range', function() { + var doc = getDocumentFromXML(''); + + var test1 = doc.root.insertAtIndex({tagName: 'test1'}, 0), + test2 = doc.root.insertAtIndex({tagName: 'test1'}, 10); + + expect(doc.root.contents()[0].sameNode(test1)).to.equal(true, 'inserting at index 0 of empty nodes appends node'); + expect(doc.root.contents().length).to.equal(1, 'inserting at index out of range does nothing'); + expect(test2).to.equal(undefined, 'inserting at index out of range returns undefined'); + }); + it('appends element node to another element node', function() { var node1 = elementNodeFromParams({tag: 'div'}), node2 = elementNodeFromParams({tag: 'a'}),