Refactoring
[fnpeditor.git] / modules / documentCanvas / canvas / canvas.test3.js
index cc2db49..08e6e0f 100644 (file)
@@ -71,6 +71,13 @@ describe('Canvas', function() {
             expect(c.doc().getWlxmlTag()).to.equal('section');
         });
 
             expect(c.doc().getWlxmlTag()).to.equal('section');
         });
 
+        describe('root element', function() {
+            it('has no parent', function() {
+                var c = canvas.fromXML('<section></section>');
+                expect(c.doc().parent()).to.be.null;
+            });
+        });
+
         describe('DocumentTextElement', function() {
             it('can have its content set', function() {
                 var c = canvas.fromXML('<section>Alice</section>'),
         describe('DocumentTextElement', function() {
             it('can have its content set', function() {
                 var c = canvas.fromXML('<section>Alice</section>'),
@@ -119,8 +126,13 @@ describe('Canvas', function() {
         
         it('returns DocumentTextElement instance from Text Node', function() {
             var c = canvas.fromXML('<section>Alice</section>'),
         
         it('returns DocumentTextElement instance from Text Node', function() {
             var c = canvas.fromXML('<section>Alice</section>'),
-                textNode = c.doc().children(0)[0].dom().get(0),
+                aliceElement = c.doc().children()[0],
+                textNode = aliceElement.dom()[0],
                 element = c.getDocumentElement(textNode);
                 element = c.getDocumentElement(textNode);
+
+            expect(textNode.nodeType).to.equal(Node.TEXT_NODE, 'text node selected');
+            expect($(textNode).text()).to.equal('Alice');
+
             expect(element).to.be.instanceOf(documentElement.DocumentTextElement);
             expect(element.sameNode(c.doc().children()[0]));
         });
             expect(element).to.be.instanceOf(documentElement.DocumentTextElement);
             expect(element.sameNode(c.doc().children()[0]));
         });
@@ -490,13 +502,13 @@ describe('Canvas', function() {
 
             describe('unwrapping', function() {
                 it('unwraps DocumentTextElement from its parent DocumentNodeElement if it\'s its only child', function() {
 
             describe('unwrapping', function() {
                 it('unwraps DocumentTextElement from its parent DocumentNodeElement if it\'s its only child', function() {
-                    var c = canvas.fromXML('<section><div>Alice has a cat</div></section>'),
+                    var c = canvas.fromXML('<section>Alice <span>has a</span> cat</section>'),
                     section = c.doc(),
                     section = c.doc(),
-                    text = section.children()[0].children()[0];
+                    text = section.children()[1].children()[0];
 
                     text.unwrap();
 
 
                     text.unwrap();
 
-                    expect(section.children().length).to.equal(1);
+                    expect(section.children().length).to.equal(1, 'section has one child');
                     expect(section.children()[0].getText()).to.equal('Alice has a cat');
                 })
             });
                     expect(section.children()[0].getText()).to.equal('Alice has a cat');
                 })
             });
@@ -909,13 +921,13 @@ describe('Canvas', function() {
         it('returns position when browser selection collapsed', function() {
             var c = canvas.fromXML('<section>Alice has a cat</section>'),
                 dom = c.doc().dom(),
         it('returns position when browser selection collapsed', function() {
             var c = canvas.fromXML('<section>Alice has a cat</section>'),
                 dom = c.doc().dom(),
-                text = dom.contents(0);
+                text = dom.contents()[0];
 
 
-            expect(text.text()).to.equal('Alice has a cat');
+            expect($(text).text()).to.equal('Alice has a cat');
 
             getSelection.returns({
 
             getSelection.returns({
-                anchorNode: text[0],
-                focusNode: text[0],
+                anchorNode: text,
+                focusNode: text,
                 anchorOffset: 5,
                 focusOffset: 5,
                 isCollapsed: true
                 anchorOffset: 5,
                 focusOffset: 5,
                 isCollapsed: true