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() {
});
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);
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);
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;
});
});