X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0bea7025f60aa5cc2ed89eed72da0d616f3574ef..2e14f0181735b7acd0da023eb4c9524b75a45b56:/src/editor/modules/documentCanvas/canvas/canvas.test.js diff --git a/src/editor/modules/documentCanvas/canvas/canvas.test.js b/src/editor/modules/documentCanvas/canvas/canvas.test.js index 8e3c1c8..63ef243 100644 --- a/src/editor/modules/documentCanvas/canvas/canvas.test.js +++ b/src/editor/modules/documentCanvas/canvas/canvas.test.js @@ -4,16 +4,17 @@ define([ 'libs/sinon', 'modules/documentCanvas/canvas/canvas', 'modules/documentCanvas/canvas/utils', +'modules/documentCanvas/canvas/documentElement', 'wlxml/wlxml', -], function($, chai, sinon, canvas, utils, wlxml) { +], function($, chai, sinon, canvas, utils, documentElement, wlxml) { 'use strict'; /* global describe, it, beforeEach, afterEach */ var expect = chai.expect; -var getCanvasFromXML = function(xml) { - return canvas.fromXMLDocument(getDocumentFromXML(xml), null); +var getCanvasFromXML = function(xml, elements) { + return canvas.fromXMLDocument(getDocumentFromXML(xml), elements); }; var getDocumentFromXML = function(xml) { @@ -35,7 +36,7 @@ describe('wtf', function() { txtNode.wrapWith({tagName: 'header', start: 1, end: 2}); expect(c.doc().children().length).to.equal(3); }); -}) +}); describe('new Canvas', function() { it('abc', function() { @@ -81,7 +82,6 @@ describe('Listening to document changes', function() { b = doc.root.contents()[1], c = canvas.fromXMLDocument(doc); - debugger; a.before(b); var sectionChildren = c.doc().children(); expect(sectionChildren.length).to.equal(2); @@ -229,39 +229,42 @@ describe('Default document changes handling', function() { describe('Custom elements based on wlxml class attribute', function() { it('allows custom rendering', function() { - var c = getCanvasFromXML('
', { - testClass: { + var prototype = $.extend({}, documentElement.DocumentNodeElement.prototype, { init: function() { - debugger; - this.dom.append(''); + this._container().append(''); } - } - }); + }), + c = getCanvasFromXML('
', [ + {tag: 'div', klass: 'testClass', prototype: prototype} + ]); + expect(c.doc().children()[0]._container().children('test').length).to.equal(1); // @! }); it('allows handling changes to internal structure of rendered node', function() { - var c = getCanvasFromXML('
', { - testClass: { + var prototype = $.extend({}, documentElement.DocumentNodeElement.prototype, { init: function() { this.header = $('

'); - this.dom.append(this.header); + this._container().append(this.header); this.refresh2(); }, refresh2: function() { - this.header.text(this.el.wlxmlNode.contents().length); + this.header.text(this.wlxmlNode.contents().length); }, onNodeAdded: function(event) { void(event); this.refresh2(); } - } }); + var c = getCanvasFromXML('
', [ + {tag: 'div', klass: 'testClass', prototype: prototype} + ]); + var node = c.wlxmlDocument.root.contents()[0], element = node.getData('canvasElement'); - var header = element.dom().find('h1'); + var header = element.dom.find('h1'); expect(header.text()).to.equal('1', 'just '); node.append({tagName: 'div'}); @@ -302,7 +305,7 @@ describe('Cursor', function() { it('returns position when browser selection collapsed', function() { var c = getCanvasFromXML('
Alice has a cat
'), - dom = c.doc().dom(), + dom = c.doc().dom, text = findTextNode(dom, 'Alice has a cat'); expect(text.nodeType).to.equal(Node.TEXT_NODE, 'correct node selected'); @@ -336,7 +339,7 @@ describe('Cursor', function() { it('recognizes selection start and end on document order', function() { var c = getCanvasFromXML('
Alicehas a cat
abc...cde
'), - dom = c.doc().dom(), + dom = c.doc().dom, textFirst = findTextNode(dom, 'Alice'), textSecond = findTextNode(dom, 'has a cat'), textAbc = findTextNode(dom, 'abc'), @@ -437,7 +440,7 @@ describe('Cursor', function() { it('returns boundries of selection when browser selection not collapsed', function() { var c = getCanvasFromXML('
Alice has a big cat
'), - dom = c.doc().dom(), + dom = c.doc().dom, text = { alice: findTextNode(dom, 'Alice '), has: findTextNode(dom, 'has'), @@ -469,7 +472,7 @@ describe('Cursor', function() { it('recognizes when browser selection boundries lies in sibling DocumentTextElements', function() { var c = getCanvasFromXML('
Alice has a big cat
'), - dom = c.doc().dom(), + dom = c.doc().dom, text = { alice: findTextNode(dom, 'Alice '), has: findTextNode(dom, 'has'),