Skip to content

Commit 4d61ec6

Browse files
author
doniyor2109
committed
Import source code
1 parent 214906c commit 4d61ec6

File tree

8 files changed

+1882
-0
lines changed

8 files changed

+1882
-0
lines changed

.babelrc

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"presets": ["@babel/preset-env"],
3+
"plugins": ["@babel/plugin-proposal-export-default-from"]
4+
}

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,7 @@ typings/
5959

6060
# next.js build output
6161
.next
62+
63+
.idea
64+
65+
dist

.npmignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
lib

lib/index.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import * as matchers from './matchers';
2+
3+
const jestExpect = global.expect;
4+
5+
if (jestExpect) {
6+
jestExpect.extend(matchers);
7+
} else {
8+
console.error('jest-generator: Could not find jest. Please install jest library');
9+
}

lib/matchers/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export toMatchYields from './toMatchYields';

lib/matchers/toMatchYields.js

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
function toMatchYields(iterator, yieldValues) {
2+
let yieldIndex = 0;
3+
let pass = true;
4+
let received;
5+
let expected;
6+
let iteratorValue;
7+
8+
do {
9+
const [expectedYieldValue] = yieldValues[yieldIndex] || [];
10+
const [, argumentForYield] = yieldValues[yieldIndex - 1] || [];
11+
12+
if (argumentForYield instanceof Error) {
13+
iteratorValue = iterator.throw(argumentForYield);
14+
} else {
15+
iteratorValue = iterator.next(argumentForYield);
16+
}
17+
18+
const yieldedValue = iteratorValue.value;
19+
const isYieldValueSameAsExpected = this.equals(yieldedValue, expectedYieldValue);
20+
21+
if (!isYieldValueSameAsExpected) {
22+
expected = expectedYieldValue;
23+
received = yieldedValue;
24+
pass = false;
25+
break;
26+
}
27+
28+
yieldIndex++;
29+
} while (iteratorValue.done === false);
30+
31+
return {
32+
pass,
33+
actual: received,
34+
message: () => `
35+
Expected generator to match with: \n
36+
${this.utils.printExpected(expected)}
37+
Received:\n
38+
${this.utils.printReceived(received)}
39+
`
40+
};
41+
}
42+
43+
export default toMatchYields;

package.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"name": "jest-generator",
3+
"version": "1.0.0",
4+
"main": "dist/index.js",
5+
"repository": "[email protected]:doniyor2109/jest-generator.git",
6+
"scripts": {
7+
"build": "babel lib -d dist"
8+
},
9+
"devDependencies": {
10+
"@babel/cli": "^7.1.5",
11+
"@babel/core": "^7.1.6",
12+
"@babel/plugin-proposal-export-default-from": "^7.0.0",
13+
"@babel/preset-env": "^7.1.6"
14+
},
15+
"keywords": ["jest", "jest-matchers", "generator", "testing generator", "test util"],
16+
"license": "MIT"
17+
}

0 commit comments

Comments
 (0)