/* 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); }); });