diff options
author | Alex Early <alexander.early@gmail.com> | 2018-07-08 16:58:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-08 16:58:36 -0700 |
commit | e4751178540a3c6e64598b93977481ec599704d2 (patch) | |
tree | dce5731bdb1076971d2e4a0a42fbe0d95c720185 /test/filter.js | |
parent | 6405b109fe60541ff42d7638ac891d321d6a7bb3 (diff) | |
download | async-e4751178540a3c6e64598b93977481ec599704d2.tar.gz |
ES6-ify codebase (#1553)
* cancelable foreach
* cancelable waterfall
* cancellable auto
* fix lint
* fix tests
* cancelable whilst/until/during/forever
* fix waterfall test. It WILL get there
* docs
* use rest params instead of slice
* clean up internals
* remove property func
* clarify uses of createTester
* happy path async funtions in asyncify
* stop using arguments
* DLL to class
* moar arrows
* fix merge issues
* remove forOwn
* moar arrows
* fix merge mistake
* even more arrows, what can stop him
* mo more fn.apply(null,...)
* remove more spurious uses of apply
* update lint config
* just when you thought there couldn't possibly be more arrows
* use eslint:recommended
* even less uses or aguments
* get rid of prototype cuteness
* fix concat tests
* fix more tests
Diffstat (limited to 'test/filter.js')
-rw-r--r-- | test/filter.js | 136 |
1 files changed, 67 insertions, 69 deletions
diff --git a/test/filter.js b/test/filter.js index a6cea2a..ee835cf 100644 --- a/test/filter.js +++ b/test/filter.js @@ -2,7 +2,7 @@ var async = require('../lib'); var expect = require('chai').expect; function filterIteratee(x, callback) { - setTimeout(function(){ + setTimeout(() => { callback(null, x % 2); }, x*5); } @@ -10,30 +10,30 @@ function filterIteratee(x, callback) { function testLimit(arr, limitFunc, limit, iter, done) { var args = []; - limitFunc(arr, limit, function(x) { + limitFunc(arr, limit, (x, next) => { args.push(x); - iter.apply(this, arguments); - }, function() { + iter(x, next); + }, (err, result) => { expect(args).to.eql(arr); - done.apply(this, arguments); + done(err, result); }); } -describe("filter", function () { +describe("filter", () => { - it('filter', function(done){ - async.filter([3,1,2], filterIteratee, function(err, results){ + it('filter', (done) => { + async.filter([3,1,2], filterIteratee, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([3,1]); done(); }); }); - it('filter original untouched', function(done){ + it('filter original untouched', (done) => { var a = [3,1,2]; - async.filter(a, function(x, callback){ + async.filter(a, (x, callback) => { callback(null, x % 2); - }, function(err, results){ + }, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([3,1]); expect(a).to.eql([3,1,2]); @@ -41,11 +41,11 @@ describe("filter", function () { }); }); - it('filter collection', function(done){ + it('filter collection', (done) => { var a = {a: 3, b: 1, c: 2}; - async.filter(a, function(x, callback){ + async.filter(a, (x, callback) => { callback(null, x % 2); - }, function(err, results){ + }, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([3,1]); expect(a).to.eql({a: 3, b: 1, c: 2}); @@ -53,67 +53,65 @@ describe("filter", function () { }); }); - if (typeof Symbol === 'function' && Symbol.iterator) { - function makeIterator(array){ - var nextIndex; - let iterator = { - next: function(){ - return nextIndex < array.length ? - {value: array[nextIndex++], done: false} : - {done: true}; - } - }; - iterator[Symbol.iterator] = function() { - nextIndex = 0; // reset iterator - return iterator; - }; + function makeIterator(array){ + var nextIndex; + let iterator = { + next(){ + return nextIndex < array.length ? + {value: array[nextIndex++], done: false} : + {done: true}; + } + }; + iterator[Symbol.iterator] = function() { + nextIndex = 0; // reset iterator return iterator; - } - - it('filter iterator', function(done){ - var a = makeIterator([500, 20, 100]); - async.filter(a, function(x, callback) { - setTimeout(function() { - callback(null, x > 20); - }, x); - }, function(err, results){ - expect(err).to.equal(null); - expect(results).to.eql([500, 100]); - done(); - }); - }); + }; + return iterator; } - it('filter error', function(done){ - async.filter([3,1,2], function(x, callback){ + it('filter iterator', (done) => { + var a = makeIterator([500, 20, 100]); + async.filter(a, (x, callback) => { + setTimeout(() => { + callback(null, x > 20); + }, x); + }, (err, results) => { + expect(err).to.equal(null); + expect(results).to.eql([500, 100]); + done(); + }); + }); + + it('filter error', (done) => { + async.filter([3,1,2], (x, callback) => { callback('error'); - } , function(err, results){ + } , (err, results) => { expect(err).to.equal('error'); expect(results).to.not.exist; done(); }); }); - it('filterSeries', function(done){ - async.filterSeries([3,1,2], filterIteratee, function(err, results){ + it('filterSeries', (done) => { + async.filterSeries([3,1,2], filterIteratee, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([3,1]); done(); }); }); - it('select alias', function(){ + it('select alias', () => { expect(async.select).to.equal(async.filter); }); - it('selectSeries alias', function(){ + it('selectSeries alias', () => { expect(async.selectSeries).to.equal(async.filterSeries); }); - it('filterLimit', function(done) { - testLimit([5, 4, 3, 2, 1], async.filterLimit, 2, function(v, next) { + it('filterLimit', (done) => { + testLimit([5, 4, 3, 2, 1], async.filterLimit, 2, (v, next) => { next(null, v % 2); - }, function(err, result){ + }, (err, result) => { expect(err).to.equal(null); expect(result).to.eql([5, 3, 1]); done(); @@ -122,21 +120,21 @@ describe("filter", function () { }); -describe("reject", function () { +describe("reject", () => { - it('reject', function(done){ - async.reject([3,1,2], filterIteratee, function(err, results){ + it('reject', (done) => { + async.reject([3,1,2], filterIteratee, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([2]); done(); }); }); - it('reject original untouched', function(done){ + it('reject original untouched', (done) => { var a = [3,1,2]; - async.reject(a, function(x, callback){ + async.reject(a, (x, callback) => { callback(null, x % 2); - }, function(err, results){ + }, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([2]); expect(a).to.eql([3,1,2]); @@ -144,42 +142,42 @@ describe("reject", function () { }); }); - it('reject error', function(done){ - async.reject([3,1,2], function(x, callback){ + it('reject error', (done) => { + async.reject([3,1,2], (x, callback) => { callback('error'); - } , function(err, results){ + } , (err, results) => { expect(err).to.equal('error'); expect(results).to.not.exist; done(); }); }); - it('rejectSeries', function(done){ - async.rejectSeries([3,1,2], filterIteratee, function(err, results){ + it('rejectSeries', (done) => { + async.rejectSeries([3,1,2], filterIteratee, (err, results) => { expect(err).to.equal(null); expect(results).to.eql([2]); done(); }); }); - it('rejectLimit', function(done) { - testLimit([5, 4, 3, 2, 1], async.rejectLimit, 2, function(v, next) { + it('rejectLimit', (done) => { + testLimit([5, 4, 3, 2, 1], async.rejectLimit, 2, (v, next) => { next(null, v % 2); - }, function(err, result){ + }, (err, result) => { expect(err).to.equal(null); expect(result).to.eql([4, 2]); done(); }); }); - it('filter fails', function(done) { - async.filter({a: 1, b: 2, c: 3}, function (item, callback) { + it('filter fails', (done) => { + async.filter({a: 1, b: 2, c: 3}, (item, callback) => { if (item === 3) { callback("error", false); } else { callback(null, true); } - }, function (err, res) { + }, (err, res) => { expect(err).to.equal("error"); expect(res).to.equal(undefined); done(); |