import { bind } from '..'; import { expect } from 'chai'; /*global describe,it*/ describe('bind()', () => { it('should bind when used as a simple decorator', next => { let c = { @bind foo() { return this; } }; expect(c.foo()).to.equal(c); let p = c.foo; expect(p()).to.equal(c); let a = {}; expect(c.foo.call(a)).to.equal(c); next(); }); it('should bind when used as a function', next => { let ctx = {}, c = bind(function(){ return this; }, ctx); expect(c()).to.equal(ctx); let a = {}; expect(c.call(a)).to.equal(ctx); next(); }); });