Skip to content

Commit

Permalink
Update: Switch to mocha + expect for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
phated committed Jun 27, 2016
1 parent e3651f5 commit a78c291
Show file tree
Hide file tree
Showing 9 changed files with 68 additions and 89 deletions.
8 changes: 5 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
sudo: false

language: node_js

node_js:
- 'stable'
- '6'
- '5'
- '4'
- '0.12'
- '0.10'
after_script:
- npm run coveralls
12 changes: 8 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@
"LICENSE"
],
"scripts": {
"lint": "eslint . && jscs index.js lib/ test/",
"pretest": "npm run lint",
"test": "lab -cv",
"lint": "eslint . && jscs *.js lib/ test/"
"test": "mocha --async-only",
"cover": "istanbul cover _mocha --report lcovonly",
"coveralls": "npm run cover && istanbul-coveralls"
},
"dependencies": {
"async-done": "^1.1.1",
Expand All @@ -36,12 +38,14 @@
"now-and-later": "0.0.6"
},
"devDependencies": {
"code": "^1.5.0",
"eslint": "^1.7.3",
"eslint-config-gulp": "^2.0.0",
"expect": "^1.19.0",
"istanbul": "^0.4.3",
"istanbul-coveralls": "^1.0.3",
"jscs": "^2.3.5",
"jscs-preset-gulp": "^1.0.0",
"lab": "^6.2.0"
"mocha": "^2.4.5"
},
"keywords": [
"compose",
Expand Down
9 changes: 3 additions & 6 deletions test/getExtensions.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var getExtensions = require('../lib/helpers').getExtensions;

describe('getExtensions', function() {

it('should return the argument if it is an object', function(done) {
var obj = {};
expect(getExtensions(obj)).to.equal(obj);
expect(getExtensions(obj)).toEqual(obj);
done();
});

it('should return undefined if argument is not an object', function(done) {
var fn = function() {};
expect(getExtensions(fn)).to.equal(undefined);
expect(getExtensions(fn)).toEqual(undefined);
done();
});
});
13 changes: 5 additions & 8 deletions test/onSettled.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var onSettled = require('../lib/helpers').onSettled;

Expand All @@ -16,16 +13,16 @@ describe('onSettled', function() {

it('should group all errors', function(done) {
onSettled(function(errs, results) {
expect(errs).to.have.length(2);
expect(results).to.equal(null);
expect(errs.length).toEqual(2);
expect(results).toEqual(null);
done();
})(null, errors);
});

it('should error early if called with an error', function(done) {
onSettled(function(err, results) {
expect(err).to.be.an.instanceof(Error);
expect(results).to.equal(null);
expect(err).toBeAn(Error);
expect(results).toEqual(null);
done();
})(new Error('Should not happen'));
});
Expand Down
25 changes: 11 additions & 14 deletions test/parallel.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var bach = require('../');

Expand All @@ -29,22 +26,22 @@ describe('parallel', function() {

it('should execute functions in parallel, passing results', function(done) {
bach.parallel(fn1, fn2, fn3)(function(error, results) {
expect(error).to.equal(null);
expect(results).to.deep.equal([1, 2, 3]);
expect(error).toEqual(null);
expect(results).toEqual([1, 2, 3]);
done();
});
});

it('should execute functions in parallel, passing error', function(done) {
function slowFn(done) {
setTimeout(function() {
expect('slow function should not be called').to.equal(undefined);
expect('slow function should not be called').toEqual(undefined);
done(null, 2);
}, 500);
}
bach.parallel(fn1, slowFn, fn3, fnError)(function(error, results) {
expect(error).to.be.instanceof(Error);
expect(results).to.deep.equal([1, undefined, 3, undefined]);
expect(error).toBeAn(Error);
expect(results).toEqual([1, undefined, 3, undefined]);
done();
});
});
Expand All @@ -54,19 +51,19 @@ describe('parallel', function() {
var fns = [fn1, fn2, fn3];
bach.parallel(fn1, fn2, fn3, {
create: function(fn, idx) {
expect(fns).to.include(fn);
expect(fns).toInclude(fn);
arr[idx] = fn;
return arr;
},
before: function(storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
after: function(result, storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
})(function(error) {
expect(error).to.equal(null);
expect(arr).to.deep.include(fns);
expect(error).toEqual(null);
expect(arr).toEqual(fns);
});
done();
});
Expand Down
23 changes: 10 additions & 13 deletions test/series.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var bach = require('../');

Expand All @@ -29,8 +26,8 @@ describe('series', function() {

it('should execute functions in series, passing results', function(done) {
bach.series(fn1, fn2, fn3)(function(error, results) {
expect(error).to.equal(null);
expect(results).to.deep.equal([1, 2, 3]);
expect(error).toEqual(null);
expect(results).toEqual([1, 2, 3]);
done();
});
});
Expand All @@ -42,8 +39,8 @@ describe('series', function() {
}, 500);
}
bach.series(fn1, slowFn, fn3, fnError)(function(error, results) {
expect(error).to.be.an.instanceof(Error);
expect(results).to.deep.equal([1, 2, 3, undefined]);
expect(error).toBeAn(Error);
expect(results).toEqual([1, 2, 3, undefined]);
done();
});
});
Expand All @@ -53,19 +50,19 @@ describe('series', function() {
var fns = [fn1, fn2, fn3];
bach.series(fn1, fn2, fn3, {
create: function(fn, idx) {
expect(fns).to.include(fn);
expect(fns).toInclude(fn);
arr[idx] = fn;
return arr;
},
before: function(storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
after: function(result, storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
})(function(error) {
expect(error).to.equal(null);
expect(arr).to.deep.include(fns);
expect(error).toEqual(null);
expect(arr).toEqual(fns);
});
done();
});
Expand Down
28 changes: 11 additions & 17 deletions test/settleParallel.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var bach = require('../');

Expand All @@ -29,8 +26,8 @@ describe('settleParallel', function() {

it('should execute functions in parallel, passing settled results', function(done) {
bach.settleParallel(fn1, fn2, fn3)(function(errors, results) {
expect(errors).to.equal(null);
expect(results).to.deep.equal([1, 2, 3]);
expect(errors).toEqual(null);
expect(results).toEqual([1, 2, 3]);
done();
});
});
Expand All @@ -42,12 +39,9 @@ describe('settleParallel', function() {
}, 500);
}
bach.settleParallel(fn1, slowFn, fn3, fnError)(function(errors, results) {
expect(errors)
.to.be.an.array()
.and.to.not.be.empty();
expect(errors[0])
.to.be.an.instanceof(Error);
expect(results).to.deep.equal([1, 2, 3]);
expect(errors).toBeAn(Array);
expect(errors[0]).toBeAn(Error);
expect(results).toEqual([1, 2, 3]);
done();
});
});
Expand All @@ -57,19 +51,19 @@ describe('settleParallel', function() {
var fns = [fn1, fn2, fn3];
bach.settleParallel(fn1, fn2, fn3, {
create: function(fn, idx) {
expect(fns).to.include(fn);
expect(fns).toInclude(fn);
arr[idx] = fn;
return arr;
},
before: function(storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
after: function(result, storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
})(function(error) {
expect(error).to.equal(null);
expect(arr).to.deep.include(fns);
expect(error).toEqual(null);
expect(arr).toEqual(fns);
});
done();
});
Expand Down
28 changes: 11 additions & 17 deletions test/settleSeries.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var bach = require('../');

Expand All @@ -29,8 +26,8 @@ describe('settleSeries', function() {

it('should execute functions in series, passing settled results', function(done) {
bach.settleSeries(fn1, fn2, fn3)(function(errors, results) {
expect(errors).to.equal(null);
expect(results).to.deep.equal([1, 2, 3]);
expect(errors).toEqual(null);
expect(results).toEqual([1, 2, 3]);
done();
});
});
Expand All @@ -42,12 +39,9 @@ describe('settleSeries', function() {
}, 500);
}
bach.settleSeries(fn1, slowFn, fn3, fnError)(function(errors, results) {
expect(errors)
.to.be.an.array()
.and.to.not.be.empty();
expect(errors[0])
.to.be.an.instanceof(Error);
expect(results).to.deep.equal([1, 2, 3]);
expect(errors).toBeAn(Array);
expect(errors[0]).toBeAn(Error);
expect(results).toEqual([1, 2, 3]);
done();
});
});
Expand All @@ -57,19 +51,19 @@ describe('settleSeries', function() {
var fns = [fn1, fn2, fn3];
bach.settleSeries(fn1, fn2, fn3, {
create: function(fn, idx) {
expect(fns).to.include(fn);
expect(fns).toInclude(fn);
arr[idx] = fn;
return arr;
},
before: function(storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
after: function(result, storage) {
expect(storage).to.equal(arr);
expect(storage).toEqual(arr);
},
})(function(error) {
expect(error).to.equal(null);
expect(arr).to.deep.include.members(fns);
expect(error).toEqual(null);
expect(arr).toEqual(fns);
});
done();
});
Expand Down
11 changes: 4 additions & 7 deletions test/verifyArguments.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
'use strict';

var lab = exports.lab = require('lab').script();
var describe = lab.describe;
var it = lab.it;
var expect = require('code').expect;
var expect = require('expect');

var verifyArguments = require('../lib/helpers').verifyArguments;

Expand All @@ -13,7 +10,7 @@ describe('verifyArguments', function() {

it('should act as pass-through for a valid set of arguments', function(done) {
var args = [validArg, validArg];
expect(verifyArguments(args)).to.deep.equal(args);
expect(verifyArguments(args)).toEqual(args);
done();
});

Expand All @@ -22,7 +19,7 @@ describe('verifyArguments', function() {
verifyArguments([validArg, 'invalid', validArg]);
}

expect(invalid).to.throw('Only functions can be combined, got string for argument 1');
expect(invalid).toThrow('Only functions can be combined, got string for argument 1');
done();
});

Expand All @@ -31,7 +28,7 @@ describe('verifyArguments', function() {
verifyArguments([]);
}

expect(empty).to.throw('A set of functions to combine is required');
expect(empty).toThrow('A set of functions to combine is required');
done();
});
});

0 comments on commit a78c291

Please sign in to comment.