summaryrefslogtreecommitdiff
path: root/mocha_test/auto.js
diff options
context:
space:
mode:
Diffstat (limited to 'mocha_test/auto.js')
-rw-r--r--mocha_test/auto.js31
1 files changed, 24 insertions, 7 deletions
diff --git a/mocha_test/auto.js b/mocha_test/auto.js
index cc80aed..c6b7150 100644
--- a/mocha_test/auto.js
+++ b/mocha_test/auto.js
@@ -1,8 +1,8 @@
var async = require('../lib');
var expect = require('chai').expect;
-var _ = require("lodash");
+var _ = require('lodash');
-describe("auto", function () {
+describe('auto', function () {
it('auto', function(done){
var callOrder = [];
@@ -235,7 +235,7 @@ describe("auto", function () {
// Error throwing final callback. This should only run once
function() {
finalCallCount++;
- var e = new Error("An error");
+ var e = new Error('An error');
e._test_error = true;
throw e;
});
@@ -249,12 +249,12 @@ describe("auto", function () {
it('auto calls callback multiple times with parallel functions', function(done) {
async.auto({
- task1: function(callback) { setTimeout(callback,0,"err"); },
- task2: function(callback) { setTimeout(callback,0,"err"); }
+ task1: function(callback) { setTimeout(callback,0,'err'); },
+ task2: function(callback) { setTimeout(callback,0,'err'); }
},
// Error throwing final callback. This should only run once
function(err) {
- expect(err).to.equal("err");
+ expect(err).to.equal('err');
done();
});
});
@@ -266,7 +266,7 @@ describe("auto", function () {
task1: function(callback){
callback(null, 'task1');
},
- task2: ["task1", function(results, callback){
+ task2: ['task1', function(results, callback){
results.inserted = true;
setTimeout(function(){
callback(null, 'task2');
@@ -327,4 +327,21 @@ describe("auto", function () {
});
});
+ it('ignores results after an error', function (done) {
+ async.auto({
+ task1: function (cb) {
+ setTimeout(cb, 25, 'error');
+ },
+ task2: function (cb) {
+ setTimeout(cb, 30, null);
+ },
+ task3: ['task2', function () {
+ throw new Error("task should not have been called");
+ }]
+ }, function (err) {
+ expect(err).to.equal('error');
+ setTimeout(done, 25, null);
+ });
+ });
+
});