X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/83edceffb18f5802bb6a9b20746437a3a46f2450..15f4c3b4c8f4a6dabed75c358bf335b6c707ea10:/src/smartxml/smartxml.test.js
diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js
index 524c976..f506f09 100644
--- a/src/smartxml/smartxml.test.js
+++ b/src/smartxml/smartxml.test.js
@@ -105,9 +105,10 @@ describe('smartxml', function() {
});
it('can be cloned with its contents and its contents data', function() {
- var doc = getDocumentFromXML(''),
+ var doc = getDocumentFromXML('text
'),
root = doc.root,
- div = root.contents()[0];
+ div = root.contents()[0],
+ text = div.contents()[0];
var ClonableObject = function(arg) {
this.arg = arg;
@@ -118,15 +119,19 @@ describe('smartxml', function() {
div.setData('key', 'value');
div.setData('clonableObject', new ClonableObject('test'));
+ text.setData('key', 'value');
var rootClone = root.clone(),
divClone = rootClone.contents()[0],
+ textClone = divClone.contents()[0],
stringClone = divClone.getData('key'),
objClone = divClone.getData('clonableObject');
expect(stringClone).to.equal('value');
expect(objClone.arg).to.equal('test', 'clonable object got copied');
expect(objClone !== div.getData('clonableObject')).to.be.equal(true, 'copy of the clonable object is a new object');
+
+ expect(textClone.getData('key')).to.be.equal(undefined, 'cloning text node data is not supported yet');
});
it('knows its path in the document tree', function() {
@@ -620,9 +625,7 @@ describe('smartxml', function() {
});
it('removes parent-describing sibling nodes of unwrapped node', function() {
- var doc = getDocumentFromXML(''),
- div = doc.root.contents()[0],
- x = div.contents()[1];
+ var doc = getDocumentFromXML('');
doc.registerExtension({documentNode: {methods: {
object: {
@@ -632,6 +635,9 @@ describe('smartxml', function() {
}
}}});
+ var div = doc.root.contents()[0],
+ x = div.contents()[1];
+
div.unwrapContent();
expect(doc.root.contents().length).to.equal(2);
expect(x.isInDocument()).to.be.false;
@@ -691,10 +697,7 @@ describe('smartxml', function() {
});
it('keeps parent-describing nodes in place', function() {
- var doc = getDocumentFromXML('Alice probably has a cat'),
- root = doc.root,
- x = root.contents()[1],
- y = root.contents()[3];
+ var doc = getDocumentFromXML('Alice probably has a cat');
doc.registerExtension({documentNode: {methods: {
object: {
@@ -705,6 +708,10 @@ describe('smartxml', function() {
}
}}});
+ var root = doc.root,
+ x = root.contents()[1],
+ y = root.contents()[3];
+
root.wrapText({
_with: {tagName: 'span', attrs: {'attr1': 'value1'}},
offsetStart: 1,
@@ -765,10 +772,7 @@ describe('smartxml', function() {
});
it('keeps parent-describing nodes in place', function() {
- var section = elementNodeFromXML(''),
- aliceText = section.contents()[0],
- x = section.contents()[1],
- lastDiv = section.contents()[2];
+ var section = elementNodeFromXML('');
section.document.registerExtension({documentNode: {methods: {
object: {
@@ -778,6 +782,10 @@ describe('smartxml', function() {
}
}}});
+ var aliceText = section.contents()[0],
+ x = section.contents()[1],
+ lastDiv = section.contents()[2];
+
section.document.wrapNodes({
node1: aliceText,
node2: lastDiv,
@@ -1348,19 +1356,6 @@ describe('smartxml', function() {
beforeEach(function() {
doc = getDocumentFromXML('');
- elementNode = doc.root;
- textNode = doc.root.contents()[0];
- extension = {};
-
- expect(elementNode.testTransformation).to.be.undefined;
- expect(textNode.testTransformation).to.be.undefined;
- expect(doc.testTransformation).to.be.undefined;
-
- expect(doc.testMethod).to.be.undefined;
- expect(elementNode.testMethod).to.be.undefined;
- expect(textNode.testMethod).to.be.undefined;
- expect(elementNode.elementTestMethod).to.be.undefined;
- expect(textNode.textTestMethod).to.be.undefined;
});
it('allows adding method to a document', function() {
@@ -1404,7 +1399,6 @@ describe('smartxml', function() {
doc.registerExtension(extension);
- /* refresh */
elementNode = doc.root;
textNode = doc.root.contents()[0];
@@ -1440,7 +1434,6 @@ describe('smartxml', function() {
doc.registerExtension(extension);
- /* refresh */
elementNode = doc.root;
textNode = doc.root.contents()[0];