+++ /dev/null
-define([\r
-'libs/jquery-1.9.1.min',\r
-'libs/chai', \r
-'./utils.js',\r
-'modules/documentCanvas/canvas'\r
-], function($, chai, utils, canvas) {\r
-\r
- 'use strict';\r
-\r
- var assert = chai.assert;\r
- \r
- assert.xmlEqual = function(lhsText, rhsText) {\r
- var cleanLhs = utils.cleanUp(lhsText);\r
- var cleanRhs = utils.cleanUp(rhsText);\r
- \r
- var lhs = $(cleanLhs);\r
- var rhs = $(cleanRhs);\r
- \r
- this.equal(lhs.length, 1);\r
- this.equal(rhs.length, 1);\r
- \r
- lhs = lhs.get(0);\r
- rhs = rhs.get(0);\r
- \r
- var test = lhs.isEqualNode(rhs);\r
- if(!test) {\r
- console.log(cleanLhs);\r
- console.log(cleanRhs); \r
- }\r
- return this.ok(test, 'xmls are equal');\r
- };\r
- \r
- var retrievingTest = function(title, xml) {\r
- test(title, function() {\r
- var c = new canvas.Canvas(xml);\r
- assert.xmlEqual(c.toXML(), xml); \r
- });\r
- };\r
- \r
- suite('Basic document retrieving', function() {\r
- test('empty document', function() {\r
- var c = new canvas.Canvas('');\r
- assert.equal(c.toXML(), '');\r
- });\r
- retrievingTest('empty tag', '<section></section>');\r
- retrievingTest('tag with content', '<section>Some text</section>');\r
- retrievingTest('tag with class', '<section class="some.class"></section>');\r
- });\r
- \r
- suite('Nodes', function() {\r
- test('getting nodes via selector', function() {\r
- var c = new canvas.Canvas('<section><header class="some.class">Header 1</header></section>');\r
- var header = c.getNode({tag: 'header'})[0];\r
- assert.equal(header.tag, 'header');\r
- assert.equal(header.klass, 'some-class');\r
- });\r
- \r
- test('inserting after', function() {\r
- var c = new canvas.Canvas('<section><header>Header 1</header></section>');\r
- var header = c.getNode({tag: 'header'})[0];\r
- c.insertNode({place: 'after', context: header, tag: 'div', klass: 'some.class'});\r
- assert.xmlEqual(c.toXML(), '<section><header>Header 1</header><div class="some.class"></div></section>');\r
- });\r
- \r
- test('wrap text in node', function() {\r
- var c = new canvas.Canvas('<section><header>Header 1</header></section>');\r
- var header = c.getNode({tag: 'header'})[0];\r
- c.insertNode({place: 'wrapText', context: header, tag: 'span', klass: 'url', offsetStart: 1, offsetEnd: 6});\r
- assert.xmlEqual(c.toXML(), '<section><header>H<span class="url">eader</span> 1</header></section>');\r
- });\r
- \r
- test('split node', function() {\r
- var c = new canvas.Canvas('<section><header class="some.class">Header 1</header></section>');\r
- var header = c.getNode({tag: 'header'})[0];\r
- c.splitNode({node: header, offset: 4});\r
- assert.xmlEqual(c.toXML(), '\\r
- <section> \\r
- <header class="some.class">Head</header>\\r
- <header class="some.class">er 1</header>\\r
- </section>'\r
- );\r
- });\r
- \r
- test('split node with subnodes', function() {\r
- var c = new canvas.Canvas('<section><header class="some.class">Fancy and nice <span>header</span> 1</header></section>');\r
- var header = c.getNode({tag: 'header'})[0];\r
- c.splitNode({node: header, textNodeIdx: 0, offset: 5});\r
- assert.xmlEqual(c.toXML(), '\\r
- <section> \\r
- <header class="some.class">Fancy</header>\\r
- <header class="some.class"> and nice <span>header</span> 1</header>\\r
- </section>'\r
- );\r
- });\r
- \r
- test('list', function() {\r
- var c = new canvas.Canvas('<section><div>Alice</div>has<div>a cat</div></section>');\r
- var div1 = c.getNode({tag:'div'})[0];\r
- var div2 = c.getNode({tag:'div'})[1];\r
- \r
- c.createList({start: div1, end: div2});\r
- \r
- assert.xmlEqual(c.toXML(), '\\r
- <section>\\r
- <div class="list">\\r
- <div class="list.item">Alice</div>\\r
- <div class="list.item">has</div>\\r
- <div class="list.item">a cat</div>\\r
- </div>\\r
- </section>');\r
- \r
- });\r
- });\r
-\r
-});
\ No newline at end of file