summaryrefslogtreecommitdiff
path: root/test/test-async.js
diff options
context:
space:
mode:
authorAllan Carroll <allanca@gmail.com>2011-05-25 12:17:40 -0700
committerAllan Carroll <allanca@gmail.com>2011-05-25 12:17:40 -0700
commitc66881d411fe3797aca1b93eec17043496b568eb (patch)
tree686ba07998fb184699ce913bf1ab9dc91861b8e5 /test/test-async.js
parentcbb0a422a91e7150428593f12686b7354dce2b7a (diff)
downloadasync-c66881d411fe3797aca1b93eec17043496b568eb.tar.gz
In Auto function, save results from functions and pass them forward to dependents.
Diffstat (limited to 'test/test-async.js')
-rw-r--r--test/test-async.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/test-async.js b/test/test-async.js
index 4a7f986..2c57daf 100644
--- a/test/test-async.js
+++ b/test/test-async.js
@@ -32,6 +32,42 @@ exports['auto'] = function(test){
});
};
+exports['auto results'] = function(test){
+ var callOrder = [];
+ async.auto({
+ task1: ['task2', function(callback, results){
+ test.same(results.task2, 'task2');
+ setTimeout(function(){
+ callOrder.push('task1');
+ callback(null, 'task1a', 'task1b');
+ }, 25);
+ }],
+ task2: function(callback){
+ setTimeout(function(){
+ callOrder.push('task2');
+ callback(null, 'task2');
+ }, 50);
+ },
+ task3: ['task2', function(callback, results){
+ test.same(results.task2, 'task2');
+ callOrder.push('task3');
+ callback(null);
+ }],
+ task4: ['task1', 'task2', function(callback, results){
+ test.same(results.task1, ['task1a','task1b']);
+ test.same(results.task2, 'task2');
+ callOrder.push('task4');
+ callback(null, 'task4');
+ }]
+ },
+ function(err, results){
+ test.same(callOrder, ['task2','task3','task1','task4']);
+ test.same(results, {task1: ['task1a','task1b'], task2: 'task2', task3: undefined, task4: 'task4'});
+ test.done();
+ });
+};
+
+
exports['auto empty object'] = function(test){
async.auto({}, function(err){
test.done();