X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/cee08f0b14be951a31544ae708b2a92f6255e61a..058d6f3448085c6f1d513691f8f2d5a12ae1d10a:/src/smartxml/smartxml.test.js diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js index 11118f4..3175ae9 100644 --- a/src/smartxml/smartxml.test.js +++ b/src/smartxml/smartxml.test.js @@ -836,18 +836,15 @@ describe('smartxml', function() { textNode = doc.root.contents()[0]; extension = {}; - expect(function() { - elementNode.transform('testTransformation'); - }).to.throw(Error); - expect(function() { - textNode.transform('testTransformation'); - }).to.throw(Error); - expect(function() { - doc.testTransformation(); - }).to.throw(Error); + 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() { @@ -871,9 +868,23 @@ describe('smartxml', function() { }); it('allows adding method to a DocumentNode instance', function() { - extension = {documentNode: {methods: { - testMethod: function() { return this; } - }}}; + extension = { + documentNode: { + methods: { + testMethod: function() { return this; } + } + }, + textNode: { + methods: { + textTestMethod: function() { return this; } + } + }, + elementNode: { + methods: { + elementTestMethod: function() { return this; } + } + } + }; doc.registerExtension(extension); @@ -883,13 +894,33 @@ describe('smartxml', function() { expect(elementNode.testMethod().sameNode(elementNode)).to.equal(true, 'context is set to a node instance'); expect(textNode.testMethod().sameNode(textNode)).to.equal(true, 'context is set to a node instance'); + + expect(elementNode.elementTestMethod().sameNode(elementNode)).to.be.true; + expect(elementNode.textTestMethod).to.be.undefined; + + expect(textNode.textTestMethod().sameNode(textNode)).to.be.true; + expect(textNode.elementTestMethod).to.be.undefined; }); it('allows adding transformation to a DocumentNode', function() { - extension = {documentNode: {transformations: { - testTransformation: function() { return this; }, - testTransformation2: {impl: function() { return this;}} - }}}; + extension = { + documentNode: { + transformations: { + testTransformation: function() { return this; }, + testTransformation2: {impl: function() { return this;}} + } + }, + textNode: { + transformations: { + textTestTransformation: function() { return this; } + } + }, + elementNode: { + transformations: { + elementTestTransformation: function() { return this; } + } + } + }; doc.registerExtension(extension); @@ -901,6 +932,12 @@ describe('smartxml', function() { expect(elementNode.testTransformation2().sameNode(elementNode)).to.equal(true, '2'); expect(textNode.testTransformation().sameNode(textNode)).to.equal(true, '3'); expect(textNode.testTransformation2().sameNode(textNode)).to.equal(true, '4'); + + expect(elementNode.elementTestTransformation().sameNode(elementNode)).to.be.true; + expect(elementNode.textTestTransformation).to.be.undefined; + + expect(textNode.textTestTransformation().sameNode(textNode)).to.be.true; + expect(textNode.elementTestTransfomation).to.be.undefined; }); });