X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e54a6bc1fa5737591083883e7e610745e2eec168..b65f1bbd3863db4164c3b7283e187460ccdf2504:/modules/documentCanvas/canvas/canvas.test3.js?ds=sidebyside diff --git a/modules/documentCanvas/canvas/canvas.test3.js b/modules/documentCanvas/canvas/canvas.test3.js index b649b9a..fc390ec 100644 --- a/modules/documentCanvas/canvas/canvas.test3.js +++ b/modules/documentCanvas/canvas/canvas.test3.js @@ -19,21 +19,21 @@ describe('Canvas', function() { expect(dom.prop('tagName')).to.equal('DIV', tagName + ' is represented as div'); }); }); - it('has wlxml tag put into wlxml-tag attribute', function() { + it('has wlxml tag put into wlxml-tag attribute of its internal container', function() { var dom = canvas.fromXML('
').doc().dom(); - expect(dom.attr('wlxml-tag')).to.equal('section'); + expect(dom.children('[document-element-content]').attr('wlxml-tag')).to.equal('section'); }); - it('has wlxml class put into wlxml-class, dots replaced with dashes', function() { + it('has wlxml class put into wlxml-class attribute of its internal containr, dots replaced with dashes', function() { var dom = canvas.fromXML('
').doc().dom(); - expect(dom.attr('wlxml-class')).to.equal('some-class'); + expect(dom.children('[document-element-content]').attr('wlxml-class')).to.equal('some-class'); }); }); describe('Internal HTML representation of a DocumentTextElement', function() { - it('is text node wrapped in a div with wlxml-text attribute set', function() { + it('is text node wrapped in a div with document-text-element attribute set', function() { var dom = canvas.fromXML('
Alice
').doc().children()[0].dom(); expect(dom.prop('tagName')).to.equal('DIV'); - expect(dom.attr('wlxml-text')).to.equal(''); + expect(dom.attr('document-text-element')).to.equal(''); expect(dom.contents().length).to.equal(1); expect(dom.contents()[0].nodeType).to.equal(Node.TEXT_NODE); expect($(dom.contents()[0]).text()).to.equal('Alice'); @@ -996,6 +996,15 @@ describe('Canvas', function() { var getSelection; + var findTextNode = function(inside, text) { + var nodes = inside.find(':not(iframe)').addBack().contents().filter(function() { + return this.nodeType === Node.TEXT_NODE && this.data === text; + }); + if(nodes.length) + return nodes[0]; + return null; + } + beforeEach(function() { getSelection = sinon.stub(window, 'getSelection'); }); @@ -1007,7 +1016,7 @@ describe('Canvas', function() { it('returns position when browser selection collapsed', function() { var c = canvas.fromXML('
Alice has a cat
'), dom = c.doc().dom(), - text = $(dom.contents()[1]).contents()[0]; + text = findTextNode(dom, 'Alice has a cat'); expect(text.nodeType).to.equal(Node.TEXT_NODE, 'correct node selected'); expect($(text).text()).to.equal('Alice has a cat'); @@ -1042,9 +1051,9 @@ describe('Canvas', function() { var c = canvas.fromXML('
Alice has a big cat
'), dom = c.doc().dom(), text = { - alice: dom.contents()[1], - has: $(dom.contents()[2]).contents()[1], - cat: dom.contents()[5] + alice: findTextNode(dom, 'Alice '), + has: findTextNode(dom, 'has'), + cat: findTextNode(dom, ' cat') }, cursor = c.getCursor(), aliceElement = c.getDocumentElement(text.alice), @@ -1075,11 +1084,11 @@ describe('Canvas', function() { var c = canvas.fromXML('
Alice has a big cat
'), dom = c.doc().dom(), text = { - alice: dom.contents()[1], - has: $(dom.contents()[2]).contents()[1], - a: dom.contents()[3], - big: $(dom.contents()[4]).contents()[1], - cat: dom.contents()[5] + alice: findTextNode(dom, 'Alice '), + has: findTextNode(dom, 'has'), + a: findTextNode(dom, ' a '), + big: findTextNode(dom, 'big'), + cat: findTextNode(dom, ' cat'), }, cursor = c.getCursor();