/* eslint-env jasmine */ Script.include('../../../system/libraries/utils.js'); describe('Bind', function() { it('exists for functions', function() { var FUNC = 'function'; expect(typeof(function() {}.bind)).toEqual(FUNC); }); it('should allow for setting context of this', function() { var foo = 'bar'; function callAnotherFn(anotherFn) { return anotherFn(); } function TestConstructor() { this.foo = foo; } TestConstructor.prototype.doSomething = function() { return callAnotherFn(function() { return this.foo; }.bind(this)); }; var instance = new TestConstructor(); expect(instance.doSomething()).toEqual(foo); });});
/* eslint-env jasmine */
Script.include('../../../system/libraries/utils.js');
describe('Bind', function() {
it('exists for functions', function() {
var FUNC = 'function';
expect(typeof(function() {}.bind)).toEqual(FUNC);
});
it('should allow for setting context of this', function() {
var foo = 'bar';
function callAnotherFn(anotherFn) {
return anotherFn();
}
function TestConstructor() {
this.foo = foo;
}
TestConstructor.prototype.doSomething = function() {
return callAnotherFn(function() {
return this.foo;
}.bind(this));
};
var instance = new TestConstructor();
expect(instance.doSomething()).toEqual(foo);
});
});