Comparing version 1.1.0 to 1.2.0
@@ -12,13 +12,19 @@ 'use strict'; | ||
* @param {Array} parameters | ||
* @param {function} defaultIt - The 'it' function used in this function. | ||
* @param {function} dIt - The 'it' function used in this function. | ||
* If omitted, 'it' in global name space is used. | ||
* @param {function} dDescribe - The 'describe' function used in this function. | ||
* If omitted, 'describe' in global name space is used. | ||
* @return {Object} The object which has a method to define test cases. | ||
*/ | ||
function forEach(parameters) { | ||
var defaultIt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : global.it; | ||
var dIt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : global.it; | ||
var dDescribe = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : global.describe; | ||
var it = makeTestCaseDefiner(parameters, defaultIt); | ||
it.skip = makeParameterizedSkip(parameters, defaultIt); | ||
it.only = makeParameterizedOnly(parameters, defaultIt); | ||
return { it: it }; | ||
var it = makeTestCaseDefiner(parameters, dIt); | ||
it.skip = makeParameterizedSkip(parameters, dIt); | ||
it.only = makeParameterizedOnly(parameters, dIt); | ||
var describe = makeTestCaseDefiner(parameters, dDescribe); | ||
describe.skip = makeParameterizedSkip(parameters, dDescribe); | ||
describe.only = makeParameterizedOnly(parameters, dDescribe); | ||
return { it: it, describe: describe }; | ||
} | ||
@@ -25,0 +31,0 @@ |
@@ -0,3 +1,7 @@ | ||
## 1.2.0 (2018-01-23) | ||
- Support parameterization at `describe` level ([#6](https://github.com/ryym/mocha-each/pull/6)) | ||
## 1.1.0 (2017-04-25) | ||
- Propagate return value ([#4](https://github.com/ryym/mocha-each/pull/4)) |
@@ -8,11 +8,16 @@ import { vsprintf } from 'sprintf-js'; | ||
* @param {Array} parameters | ||
* @param {function} defaultIt - The 'it' function used in this function. | ||
* @param {function} dIt - The 'it' function used in this function. | ||
* If omitted, 'it' in global name space is used. | ||
* @param {function} dDescribe - The 'describe' function used in this function. | ||
* If omitted, 'describe' in global name space is used. | ||
* @return {Object} The object which has a method to define test cases. | ||
*/ | ||
function forEach(parameters, defaultIt = global.it) { | ||
const it = makeTestCaseDefiner(parameters, defaultIt); | ||
it.skip = makeParameterizedSkip(parameters, defaultIt); | ||
it.only = makeParameterizedOnly(parameters, defaultIt); | ||
return { it }; | ||
function forEach(parameters, dIt = global.it, dDescribe = global.describe) { | ||
const it = makeTestCaseDefiner(parameters, dIt); | ||
it.skip = makeParameterizedSkip(parameters, dIt); | ||
it.only = makeParameterizedOnly(parameters, dIt); | ||
const describe = makeTestCaseDefiner(parameters, dDescribe); | ||
describe.skip = makeParameterizedSkip(parameters, dDescribe); | ||
describe.only = makeParameterizedOnly(parameters, dDescribe); | ||
return { it, describe }; | ||
} | ||
@@ -19,0 +24,0 @@ |
{ | ||
"name": "mocha-each", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"description": "Parameterized test utility for Mocha", | ||
@@ -5,0 +5,0 @@ "main": "build/index.js", |
@@ -70,2 +70,32 @@ # Mocha-Each - Parameterized Test for Mocha | ||
### At describe level | ||
Similarly, it works on describe level | ||
```javascript | ||
// test.js | ||
const assert = require('assert'); | ||
const forEach = require('mocha-each'); | ||
function subtract(a, b) { | ||
return parseInt(a) - parseInt(b); | ||
} | ||
forEach([ | ||
[1, 1, 0], | ||
[2, -2, 4], | ||
[140, 48, 92] | ||
]) | ||
.describe('subtract() with %d and %d', (left, right, expected) => { | ||
let actual; | ||
before(() => { | ||
actual = subtract(left, right); | ||
}); | ||
it('subtracts correctly and returns ' + expected, () => { | ||
assert.equal(actual, expected); | ||
}); | ||
}); | ||
``` | ||
### Asynchronous code | ||
@@ -72,0 +102,0 @@ |
14201
178
244