Dividing DocumentTextElement with DocumentNodeElement
[fnpeditor.git] / modules / documentCanvas / canvas / canvas.test3.js
index 565e4b0..95698d0 100644 (file)
@@ -388,6 +388,21 @@ describe('Canvas', function() {
                     expect(children[1]).to.be.instanceOf(documentElement.DocumentTextElement);
                     expect(children[1].getText()).to.equal('Alice');
                 });
+
+                it('can divide DocumentTextElement with a new DocumentNodeElement', function() {
+                    var c = canvas.fromXML('<section>Alice has a cat</section>'),
+                        section = c.doc(),
+                        text = section.children()[0];
+
+                    var returned = text.divide({tag: 'aside', klass: 'footnote', offset: 5}),
+                        sectionChildren = section.children(),
+                        lhsText = sectionChildren[0],
+                        rhsText = sectionChildren[2];
+
+                    expect(lhsText.getText()).to.equal('Alice');
+                    expect(returned.sameNode(sectionChildren[1]));
+                    expect(rhsText.getText()).to.equal(' has a cat');
+                });
             });
 
             describe('Splitting text', function() {
@@ -1168,6 +1183,14 @@ describe('Canvas', function() {
                 expect(partsIn).to.deep.equal(partsOut);
             });
 
+            it('keeps white space at the beginning of text', function() {
+                var xmlIn = '<section>    abc<div>some div</div>    abc</section>',
+                    c = canvas.fromXML(xmlIn),
+                    xmlOut = c.toXML();
+
+                expect(xmlOut).to.equal(xmlIn);
+            });
+
             it('nests new children block elements', function() {
                 var c = canvas.fromXML('<section></section>');
     
@@ -1228,15 +1251,15 @@ describe('Canvas', function() {
             });
 
             it('keeps white space after detaching text element', function() {
-                var xmlIn = '<section><header>header</header>\
-                    \
-                text1\
-                    \
+                var xmlIn = '<section><header>header</header>\n\
+                    \n\
+                text1\n\
+                    \n\
             </section>',
-                    expectedXmlOut = '<section><header>header</header>\
-                    \
-                \
-                    \
+                    expectedXmlOut = '<section><header>header</header>\n\
+                    \n\
+                \n\
+                    \n\
             </section>',
                     c = canvas.fromXML(xmlIn),
                     children = c.doc().children(),