summaryrefslogtreecommitdiffstats
path: root/tests/bind.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bind.js')
-rw-r--r--tests/bind.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/bind.js b/tests/bind.js
new file mode 100644
index 0000000..c76a0f4
--- /dev/null
+++ b/tests/bind.js
@@ -0,0 +1,37 @@
+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();
+ });
+});