From 096e474dcc0e39888b71b2ecdcdf67a5eb916f04 Mon Sep 17 00:00:00 2001 From: Graeme Yeates Date: Sat, 15 Oct 2016 12:12:20 -0400 Subject: Add short circuit test for every --- mocha_test/every.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/mocha_test/every.js b/mocha_test/every.js index ed4693e..39ae51c 100644 --- a/mocha_test/every.js +++ b/mocha_test/every.js @@ -1,5 +1,6 @@ var async = require('../lib'); var expect = require('chai').expect; +var _ = require('lodash'); describe("every", function () { @@ -83,6 +84,32 @@ describe("every", function () { }); }); + it('everySeries doesn\'t cause stack overflow (#1293)', function(done) { + var arr = _.range(10000); + let calls = 0; + async.everySeries(arr, function(data, cb) { + calls += 1; + async.setImmediate(_.partial(cb, null, false)); + }, function(err) { + expect(err).to.equal(null); + expect(calls).to.equal(1); + done(); + }); + }); + + it('everyLimit doesn\'t cause stack overflow (#1293)', function(done) { + var arr = _.range(10000); + let calls = 0; + async.everyLimit(arr, 100, function(data, cb) { + calls += 1; + async.setImmediate(_.partial(cb, null, false)); + }, function(err) { + expect(err).to.equal(null); + expect(calls).to.equal(100); + done(); + }); + }); + it('all alias', function(){ expect(async.all).to.equal(async.every); }); -- cgit v1.2.1