X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0032858d24ed6dba11f8943072cd6db475a2dd17..72da90cac0feafb35cac9292105e24f2b5094b45:/src/smartxml/smartxml.test.js diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index e4dd1a7..180fa87 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -75,6 +75,24 @@ describe('smartxml', function() { expect(node.nativeNode.isEqualNode(clone.nativeNode)).to.equal(true, 'clone is identical as its originator' + suffix); }); }); + + it('knows its path in the document tree', function() { + var doc = getDocumentFromXML('text'), + root = doc.root, + a = root.contents()[0], + b = a.contents()[0], + text = b.contents()[1]; + + expect(root.getPath()).to.eql([], 'path of the root element is empty'); + expect(a.getPath()).to.eql([0]); + expect(b.getPath()).to.eql([0, 0]); + expect(text.getPath()).to.eql([0,0,1]); + + /* Paths relative to a given ancestor */ + expect(text.getPath(root)).to.eql([0,0,1]); + expect(text.getPath(a)).to.eql([0,1]); + expect(text.getPath(b)).to.eql([1]); + }); }); describe('Basic ElementNode properties', function() {