From 4c2bd0299f6b9b02526a71415c8628b71922500a Mon Sep 17 00:00:00 2001 From: Hubert Argasinski Date: Wed, 27 Feb 2019 21:47:37 -0600 Subject: initialize results in whilst [fixes #1626] --- lib/whilst.js | 2 +- test/whilst.js | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/whilst.js b/lib/whilst.js index 1013d37..361b72d 100644 --- a/lib/whilst.js +++ b/lib/whilst.js @@ -40,7 +40,7 @@ function whilst(test, iteratee, callback) { callback = onlyOnce(callback); var _fn = wrapAsync(iteratee); var _test = wrapAsync(test); - var results + var results = []; function next(err, ...rest) { if (err) return callback(err); diff --git a/test/whilst.js b/test/whilst.js index 1c222c9..1ee6f11 100644 --- a/test/whilst.js +++ b/test/whilst.js @@ -64,6 +64,24 @@ describe('whilst', () => { }, 10) }); + it('should not error when test is false on first iteration', (done) => { + var counter = 0; + + async.whilst( + (cb) => cb(null, false), + (cb) => { + counter++; + cb(null); + }, + (err, result) => { + expect(err).to.eql(null); + expect(result).to.be.undefined; + expect(counter).to.equal(0); + done(); + } + ); + }); + it('doWhilst', (done) => { var call_order = []; -- cgit v1.2.1