X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/36bb9273f472d484a633ec54bb4b0ad3b70d50f2..61a11b4e16b955a231391273e91ffc6ced32fa67:/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 51f4f0a..95698d0 100644
--- a/modules/documentCanvas/canvas/canvas.test3.js
+++ b/modules/documentCanvas/canvas/canvas.test3.js
@@ -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 = 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() {
@@ -1122,6 +1137,21 @@ describe('Canvas', function() {
expect($(c.toXML()).attr('meta-uri')).to.equal(undefined, 'setting attribute to zero length string');
});
+ describe('output xml', function() {
+ it('keeps entities intact', function() {
+ var xmlIn = '',
+ c = canvas.fromXML(xmlIn),
+ xmlOut = c.toXML();
+ expect(xmlOut).to.equal(xmlIn);
+ });
+ it('keeps entities intact when they form html/xml', function() {
+ var xmlIn = '',
+ c = canvas.fromXML(xmlIn),
+ xmlOut = c.toXML();
+ expect(xmlOut).to.equal(xmlIn);
+ });
+ });
+
describe('formatting output xml', function() {
/*it('keeps white spaces at the edges of input xml', function() {
var xmlIn = ' ',
@@ -1153,6 +1183,14 @@ describe('Canvas', function() {
expect(partsIn).to.deep.equal(partsOut);
});
+ it('keeps white space at the beginning of text', function() {
+ var xmlIn = '',
+ c = canvas.fromXML(xmlIn),
+ xmlOut = c.toXML();
+
+ expect(xmlOut).to.equal(xmlIn);
+ });
+
it('nests new children block elements', function() {
var c = canvas.fromXML('');
@@ -1185,7 +1223,54 @@ describe('Canvas', function() {
var xmlOut = c.toXML();
console.log(xmlOut);
expect(xmlOut).to.equal(xmlIn);
+ });
+ it('keeps white space around text node', function() {
+ var xmlIn = '\
+ \
+ Some text surrounded by white space\
+ \
+ ',
+ c = canvas.fromXML(xmlIn);
+
+ var xmlOut = c.toXML();
+ expect(xmlOut).to.equal(xmlIn);
+ });
+
+ it('keeps white space around text node - last node case', function() {
+ var xmlIn = '\
+ \
+ \
+ Some text surrounded by white space\
+ \
+ ',
+ c = canvas.fromXML(xmlIn);
+
+ var xmlOut = c.toXML();
+ expect(xmlOut).to.equal(xmlIn);
+ });
+
+ it('keeps white space after detaching text element', function() {
+ var xmlIn = '\n\
+ \n\
+ text1\n\
+ \n\
+ ',
+ expectedXmlOut = '',
+ c = canvas.fromXML(xmlIn),
+ children = c.doc().children(),
+ text = children[children.length-1];
+
+ expect(text.getText()).to.equal('text1');
+
+ text.detach();
+
+ var xmlOut = c.toXML();
+ expect(xmlOut).to.equal(expectedXmlOut);
});
})