X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/8095e9703888ebe28d96a094905e43eebccb6676..324bfe12fcbabe4da96256dd98bc16da5be3ab82:/src/smartxml/smartxml.test.js?ds=sidebyside diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index b758a23..6d6cbbf 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -4,7 +4,8 @@ define([ ], function(chai, smartxml) { 'use strict'; - +/*jshint expr:true */ +/* global describe, it */ var expect = chai.expect; @@ -22,7 +23,7 @@ var elementNodeFromXML = function(xml) { }; -describe.only('smartxml', function() { +describe('smartxml', function() { describe('Basic Document properties', function() { it('exposes its root element', function() { @@ -52,6 +53,24 @@ describe.only('smartxml', function() { expect(node1.contents()[0].sameNode(node2)).to.be.true; }); + it('wraps element node with another element node', function() { + var node = elementNodeFromXML('
'), + wrapper = elementNodeFromXML(''); + + node.wrapWith(wrapper); + expect(node.parent().sameNode(wrapper)).to.be.true; + }); + + it('wraps text node with element node', function() { + var node = elementNodeFromXML('
Alice
'), + textNode = node.contents()[0], + wrapper = elementNodeFromXML(''); + + textNode.wrapWith(wrapper); + expect(textNode.parent().sameNode(wrapper)).to.be.true; + expect(node.contents()).to.have.length(1); + }); + it('unwraps element node contents', function() { var node = elementNodeFromXML('
Alice
has propably a cat
!
'), outerDiv = node.contents()[1]; @@ -66,6 +85,20 @@ describe.only('smartxml', function() { }); + describe('Serializing document to WLXML', function() { + it('keeps document intact when no changes have been made', function() { + var xmlIn = '
Alice
has
a cat!
', + doc = getDocumentFromXML(xmlIn), + xmlOut = doc.toXML(); + + var parser = new DOMParser(), + input = parser.parseFromString(xmlIn, 'application/xml').childNodes[0], + output = parser.parseFromString(xmlOut, 'application/xml').childNodes[0]; + + expect(input.isEqualNode(output)).to.be.true; + }); + }); + }); }); \ No newline at end of file