summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGraeme Yeates <yeatesgraeme@gmail.com>2016-05-05 10:07:32 -0400
committerGraeme Yeates <yeatesgraeme@gmail.com>2016-05-05 10:07:32 -0400
commit0f1f2844ab4931188f378badbf401573b46b72e1 (patch)
tree6d0fe106b1d81726afe40439e169491ea27d8b2a /test
parent19585c1717f9694ef685af4adf1c96835c3ddfba (diff)
parentd9a03388149e2dbfb23a3095910a707a836ca5d2 (diff)
downloadasync-0f1f2844ab4931188f378badbf401573b46b72e1.tar.gz
Merge pull request #1142 from ezubarev/master
Make once and onlyOnce exception safe
Diffstat (limited to 'test')
-rwxr-xr-xtest/test-async.js282
1 files changed, 0 insertions, 282 deletions
diff --git a/test/test-async.js b/test/test-async.js
index b310f70..53d8cb4 100755
--- a/test/test-async.js
+++ b/test/test-async.js
@@ -30,13 +30,6 @@ function forEachOfIteratee(args, value, key, callback) {
}, value*25);
}
-function mapIteratee(call_order, x, callback) {
- setTimeout(function(){
- call_order.push(x);
- callback(null, x*2);
- }, x*25);
-}
-
function eachNoCallbackIteratee(test, x, callback) {
test.equal(x, 1);
callback();
@@ -1311,281 +1304,6 @@ exports['forEachOfLimit with Map (iterators)'] = function(test){
});
};
-exports['map'] = {
-
- 'basic': function(test){
- var call_order = [];
- async.map([1,3,2], mapIteratee.bind(this, call_order), function(err, results){
- test.ok(err === null, err + " passed instead of 'null'");
- test.same(call_order, [1,2,3]);
- test.same(results, [2,6,4]);
- test.done();
- });
-},
-
- 'with reflect': function(test){
- var call_order = [];
- async.map([1,3,2], async.reflect(function(item, cb) {
- setTimeout(function(){
- call_order.push(item);
- cb(null, item*2);
- }, item*25);
- }), function(err, results){
- test.ok(err === null, err + " passed instead of 'null'");
- test.same(call_order, [1,2,3]);
- test.same(results, [
- { value: 2 },
- { value: 6 },
- { value: 4 }
- ]);
- test.done();
- });
-},
-
- 'error with reflect': function(test){
- var call_order = [];
- async.map([-1,1,3,2], async.reflect(function(item, cb) {
- setTimeout(function(){
- call_order.push(item);
- if (item < 0) {
- cb('number less then zero');
- } else {
- cb(null, item*2);
- }
-
- }, item*25);
- }), function(err, results){
- test.ok(err === null, err + " passed instead of 'null'");
- test.same(call_order, [-1,1,2,3]);
- test.same(results, [
- { error: 'number less then zero' },
- { value: 2 },
- { value: 6 },
- { value: 4 }
- ]);
- test.done();
- });
-},
-
- 'map original untouched': function(test){
- var a = [1,2,3];
- async.map(a, function(x, callback){
- callback(null, x*2);
- }, function(err, results){
- test.same(results, [2,4,6]);
- test.same(a, [1,2,3]);
- test.done();
- });
-},
-
- 'map without main callback': function(test){
- var a = [1,2,3];
- var r = [];
- async.map(a, function(x, callback){
- r.push(x);
- var done = r.length == a.length;
- callback(null);
- if (done) {
- test.same(r, a);
- test.done();
- }
- });
-},
-
- 'map error': function(test){
- test.expect(1);
- async.map([1,2,3], function(x, callback){
- callback('error');
- }, function(err){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-},
-
- 'map undefined array': function(test){
- test.expect(2);
- async.map(undefined, function(x, callback){
- callback();
- }, function(err, result){
- test.equals(err, null);
- test.same(result, []);
- });
- setTimeout(test.done, 50);
-},
-
- 'map object': function (test) {
- async.map({a: 1, b: 2, c: 3}, function (val, callback) {
- callback(null, val * 2);
- }, function (err, result) {
- if (err) throw err;
- test.equals(Object.prototype.toString.call(result), '[object Object]');
- test.same(result, {a: 2, b: 4, c: 6});
- test.done();
- });
-},
-
- 'mapSeries': function(test){
- var call_order = [];
- async.mapSeries([1,3,2], mapIteratee.bind(this, call_order), function(err, results){
- test.ok(err === null, err + " passed instead of 'null'");
- test.same(call_order, [1,3,2]);
- test.same(results, [2,6,4]);
- test.done();
- });
-},
-
- 'mapSeries error': function(test){
- test.expect(1);
- async.mapSeries([1,2,3], function(x, callback){
- callback('error');
- }, function(err){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-},
-
- 'mapSeries undefined array': function(test){
- test.expect(2);
- async.mapSeries(undefined, function(x, callback){
- callback();
- }, function(err, result){
- test.equals(err, null);
- test.same(result, []);
- });
- setTimeout(test.done, 50);
-},
-
- 'mapSeries object': function (test) {
- async.mapSeries({a: 1, b: 2, c: 3}, function (val, callback) {
- callback(null, val * 2);
- }, function (err, result) {
- if (err) throw err;
- test.same(result, {a: 2, b: 4, c: 6});
- test.done();
- });
-},
-
- 'mapLimit': function(test){
- var call_order = [];
- async.mapLimit([2,4,3], 2, mapIteratee.bind(this, call_order), function(err, results){
- test.ok(err === null, err + " passed instead of 'null'");
- test.same(call_order, [2,4,3]);
- test.same(results, [4,8,6]);
- test.done();
- });
-},
-
- 'mapLimit empty array': function(test){
- test.expect(1);
- async.mapLimit([], 2, function(x, callback){
- test.ok(false, 'iteratee should not be called');
- callback();
- }, function(err){
- if (err) throw err;
- test.ok(true, 'should call callback');
- });
- setTimeout(test.done, 25);
-},
-
- 'mapLimit undefined array': function(test){
- test.expect(2);
- async.mapLimit(undefined, 2, function(x, callback){
- callback();
- }, function(err, result){
- test.equals(err, null);
- test.same(result, []);
- });
- setTimeout(test.done, 50);
-},
-
- 'mapLimit limit exceeds size': function(test){
- var call_order = [];
- async.mapLimit([0,1,2,3,4,5,6,7,8,9], 20, mapIteratee.bind(this, call_order), function(err, results){
- test.same(call_order, [0,1,2,3,4,5,6,7,8,9]);
- test.same(results, [0,2,4,6,8,10,12,14,16,18]);
- test.done();
- });
-},
-
- 'mapLimit limit equal size': function(test){
- var call_order = [];
- async.mapLimit([0,1,2,3,4,5,6,7,8,9], 10, mapIteratee.bind(this, call_order), function(err, results){
- test.same(call_order, [0,1,2,3,4,5,6,7,8,9]);
- test.same(results, [0,2,4,6,8,10,12,14,16,18]);
- test.done();
- });
-},
-
- 'mapLimit zero limit': function(test){
- test.expect(2);
- async.mapLimit([0,1,2,3,4,5], 0, function(x, callback){
- test.ok(false, 'iteratee should not be called');
- callback();
- }, function(err, results){
- test.same(results, []);
- test.ok(true, 'should call callback');
- });
- setTimeout(test.done, 25);
-},
-
- 'mapLimit error': function(test){
- test.expect(2);
- var arr = [0,1,2,3,4,5,6,7,8,9];
- var call_order = [];
-
- async.mapLimit(arr, 3, function(x, callback){
- call_order.push(x);
- if (x === 2) {
- callback('error');
- }
- }, function(err){
- test.same(call_order, [0,1,2]);
- test.equals(err, 'error');
- });
- setTimeout(test.done, 25);
-},
-
- 'mapLimit does not continue replenishing after error': function (test) {
- var started = 0;
- var arr = [0,1,2,3,4,5,6,7,8,9];
- var delay = 10;
- var limit = 3;
- var maxTime = 10 * arr.length;
-
- async.mapLimit(arr, limit, function(x, callback) {
- started ++;
- if (started === 3) {
- return callback(new Error ("Test Error"));
- }
- setTimeout(function(){
- callback();
- }, delay);
- }, function(){});
-
- setTimeout(function(){
- test.equal(started, 3);
- test.done();
- }, maxTime);
-},
-
- 'map with Map': function(test) {
- if (typeof Map !== 'function')
- return test.done();
-
- var map = new Map();
- map.set(1, "a");
- map.set(2, "b");
- async.map(map, function(val, cb) {
- cb(null, val);
- }, function (err, result) {
- test.ok(Array.isArray(result), "map should return an array for an iterable");
- test.done();
- });
-}
-
-};
-
-
exports['reduce'] = function(test){
var call_order = [];
async.reduce([1,2,3], 0, function(a, x, callback){