X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/bb2c206bdd17b1f42cfdcdd62b105873a1b8f9a2..422314851c0b7ce1f0a5209ca09960a47856d173:/src/smartxml/smartxml.test.js?ds=sidebyside diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index 35cca61..2198795 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -17,25 +17,53 @@ var elementNodeFromParams = function(params) { return smartxml.elementNodeFromXML('<' + params.tag + '>'); } +var elementNodeFromXML = function(xml) { + return smartxml.elementNodeFromXML(xml); +} + describe.only('smartxml', function() { - describe('Basic use', function() { - it('exposes root element', function() { + describe('Basic Document properties', function() { + it('exposes its root element', function() { var doc = getDocumentFromXML('
'); expect(doc.root.getTagName()).to.equal('div'); }); }); + describe('Basic ElementNode properties', function() { + it('exposes node contents', function() { + var node = elementNodeFromXML('Sometextis here'), + contents = node.contents(); + + expect(contents).to.have.length(3); + expect(contents[0].nodeType).to.equal(Node.TEXT_NODE, 'text node 1'); + expect(contents[1].nodeType).to.equal(Node.ELEMENT_NODE, 'element node 1'); + expect(contents[2].nodeType).to.equal(Node.TEXT_NODE, 'text node 2'); + }); + }) + describe('Manipulations', function() { - it('appende element node to another element node', function() { + it('appends element node to another element node', function() { var node1 = elementNodeFromParams({tag: 'div'}), node2 = elementNodeFromParams({tag: 'a'}); node1.append(node2); expect(node1.contents()[0].sameNode(node2)).to.be.true; }); + it('unwraps element node contents', function() { + var node = elementNodeFromXML('
Alice
has propably a cat
!
'), + outerDiv = node.contents()[1]; + + outerDiv.unwrapContent(); + + expect(node.contents().length).to.equal(3); + expect(node.contents()[0].getText()).to.equal('Alice has '); + expect(node.contents()[1].getTagName()).to.equal('span'); + expect(node.contents()[2].getText()).to.equal(' a cat!'); + }); + }); });