});
instance.object = Object.create(_.extend({}, methods, transformations));
_.keys(methods).concat(_.keys(transformations)).forEach(function(key) {
- instance.object[key] = _.bind(instance.object[key], instance);
+ if(_.isFunction(instance.object[key])) {
+ instance.object[key] = _.bind(instance.object[key], instance);
+ }
});
};
expect(testClassNode.object.testMethod().sameNode(testClassNode)).to.equal(true, '1');
});
+ it('allows adding non-function properties to an ElementNode of specific class', function() {
+ extension = {wlxmlClass: {test_class: {methods: {
+ testProp: 123
+ }}}};
+ doc.registerExtension(extension);
+ testClassNode = doc.root.contents()[1];
+ expect(testClassNode.object.testProp).to.equal(123);
+ });
+
it('allows adding transformation to an ElementNode of specific class', function() {
extension = {wlxmlClass: {test_class: {transformations: {
testTransformation: function() { return this; },