diff options
author | Graeme Yeates <yeatesgraeme@gmail.com> | 2016-06-02 15:08:41 -0400 |
---|---|---|
committer | Graeme Yeates <yeatesgraeme@gmail.com> | 2016-06-02 15:08:41 -0400 |
commit | 1a388551cc6724bbe97a670bd1bd60ae7bbb89e2 (patch) | |
tree | e5499dd23c0cafe838a366d9d7245d8f12dc981d | |
parent | f0ca1f71742d7478799b9e4dd268bd74e373eb2f (diff) | |
parent | 9fc2948a4fc429cbc73b5b0ddadda3279764c7af (diff) | |
download | async-1a388551cc6724bbe97a670bd1bd60ae7bbb89e2.tar.gz |
Merge pull request #1180 from Kikobeats/CRLF
Add .gitattributes
-rw-r--r-- | .gitattributes | 2 | ||||
-rw-r--r-- | mocha_test/ensureAsync.js | 170 |
2 files changed, 87 insertions, 85 deletions
diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..4cab1f4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto diff --git a/mocha_test/ensureAsync.js b/mocha_test/ensureAsync.js index fd8cc3f..89659e2 100644 --- a/mocha_test/ensureAsync.js +++ b/mocha_test/ensureAsync.js @@ -1,85 +1,85 @@ -var async = require('../lib');
-var expect = require('chai').expect;
-var assert = require('assert');
-
-describe('ensureAsync', function() {
- var passContext = function(cb) {
- cb(this);
- };
-
- it('defer sync functions', function(done) {
- var sync = true;
- async.ensureAsync(function (arg1, arg2, cb) {
- expect(arg1).to.equal(1);
- expect(arg2).to.equal(2);
- cb(null, 4, 5);
- })(1, 2, function (err, arg4, arg5) {
- expect(err).to.equal(null);
- expect(arg4).to.equal(4);
- expect(arg5).to.equal(5);
- assert(!sync, 'callback called on same tick');
- done();
- });
- sync = false;
- });
-
- it('do not defer async functions', function(done) {
- var sync = false;
- async.ensureAsync(function (arg1, arg2, cb) {
- expect(arg1).to.equal(1);
- expect(arg2).to.equal(2);
- async.setImmediate(function () {
- sync = true;
- cb(null, 4, 5);
- sync = false;
- });
- })(1, 2, function (err, arg4, arg5) {
- expect(err).to.equal(null);
- expect(arg4).to.equal(4);
- expect(arg5).to.equal(5);
- assert(sync, 'callback called on next tick');
- done();
- });
- });
-
- it('double wrapping', function(done) {
- var sync = true;
- async.ensureAsync(async.ensureAsync(function (arg1, arg2, cb) {
- expect(arg1).to.equal(1);
- expect(arg2).to.equal(2);
- cb(null, 4, 5);
- }))(1, 2, function (err, arg4, arg5) {
- expect(err).to.equal(null);
- expect(arg4).to.equal(4);
- expect(arg5).to.equal(5);
- assert(!sync, 'callback called on same tick');
- done();
- });
- sync = false;
- });
-
-
- it('should propely bind context to the wrapped function', function(done) {
-
- // call bind after wrapping with ensureAsync
- var context = {context: "post"};
- var postBind = async.ensureAsync(passContext);
- postBind = postBind.bind(context);
- postBind(function(ref) {
- expect(ref).to.equal(context);
- done();
- });
- });
-
- it('should not override the bound context of a function when wrapping', function(done) {
-
- // call bind before wrapping with ensureAsync
- var context = {context: "pre"};
- var preBind = passContext.bind(context);
- preBind = async.ensureAsync(preBind);
- preBind(function(ref) {
- expect(ref).to.equal(context);
- done();
- });
- });
-});
+var async = require('../lib'); +var expect = require('chai').expect; +var assert = require('assert'); + +describe('ensureAsync', function() { + var passContext = function(cb) { + cb(this); + }; + + it('defer sync functions', function(done) { + var sync = true; + async.ensureAsync(function (arg1, arg2, cb) { + expect(arg1).to.equal(1); + expect(arg2).to.equal(2); + cb(null, 4, 5); + })(1, 2, function (err, arg4, arg5) { + expect(err).to.equal(null); + expect(arg4).to.equal(4); + expect(arg5).to.equal(5); + assert(!sync, 'callback called on same tick'); + done(); + }); + sync = false; + }); + + it('do not defer async functions', function(done) { + var sync = false; + async.ensureAsync(function (arg1, arg2, cb) { + expect(arg1).to.equal(1); + expect(arg2).to.equal(2); + async.setImmediate(function () { + sync = true; + cb(null, 4, 5); + sync = false; + }); + })(1, 2, function (err, arg4, arg5) { + expect(err).to.equal(null); + expect(arg4).to.equal(4); + expect(arg5).to.equal(5); + assert(sync, 'callback called on next tick'); + done(); + }); + }); + + it('double wrapping', function(done) { + var sync = true; + async.ensureAsync(async.ensureAsync(function (arg1, arg2, cb) { + expect(arg1).to.equal(1); + expect(arg2).to.equal(2); + cb(null, 4, 5); + }))(1, 2, function (err, arg4, arg5) { + expect(err).to.equal(null); + expect(arg4).to.equal(4); + expect(arg5).to.equal(5); + assert(!sync, 'callback called on same tick'); + done(); + }); + sync = false; + }); + + + it('should propely bind context to the wrapped function', function(done) { + + // call bind after wrapping with ensureAsync + var context = {context: "post"}; + var postBind = async.ensureAsync(passContext); + postBind = postBind.bind(context); + postBind(function(ref) { + expect(ref).to.equal(context); + done(); + }); + }); + + it('should not override the bound context of a function when wrapping', function(done) { + + // call bind before wrapping with ensureAsync + var context = {context: "pre"}; + var preBind = passContext.bind(context); + preBind = async.ensureAsync(preBind); + preBind(function(ref) { + expect(ref).to.equal(context); + done(); + }); + }); +}); |