Skip to content

Commit ed59356

Browse files
committed
Add a basic example project
1 parent ed61379 commit ed59356

9 files changed

+4834
-1
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ yarn-error.log
44
build
55
coverage
66
.DS_Store
7-
package-lock.json
7+
/package-lock.json

.npmignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
docs/
2+
example/

example/jest.config.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const rules = [
2+
{
3+
match: /^Received invalid input:/,
4+
group: "Received invalid input",
5+
keep: true,
6+
},
7+
{
8+
match: /^Received a non-integer number:/,
9+
group: "Received a non-integer number",
10+
},
11+
{
12+
match: /^Received value:/,
13+
group: null,
14+
},
15+
];
16+
17+
module.exports = {
18+
reporters: [
19+
["jest-clean-console-reporter", { rules }],
20+
"@jest/reporters/build/SummaryReporter",
21+
],
22+
testMatch: ["<rootDir>/src/**/*.test.js"],
23+
};

example/package-lock.json

+4,742
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/package.json

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"name": "jest-clean-console-reporter-test-app",
3+
"version": "1.0.0",
4+
"main": "index.js",
5+
"author": "Jani Eväkallio",
6+
"license": "MIT",
7+
"scripts": {
8+
"test": "jest --config jest.config.js"
9+
},
10+
"devDependencies": {
11+
"jest": "^26.6.3",
12+
"jest-clean-console-reporter": "latest"
13+
}
14+
}

example/src/print.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
"use strict";
2+
3+
module.exports = function print(n) {
4+
console.info("Received value: " + n);
5+
6+
// throws when "n" is not a number
7+
return n.toFixed(2);
8+
};

example/src/print.test.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const print = require("./print");
2+
3+
describe("print", () => {
4+
it("prints a number", () => {
5+
expect(print(25 / 2)).toBe("12.50");
6+
});
7+
8+
it("crashes when passed a non-number", () => {
9+
// this test will fail
10+
expect(() => print("100")).toThrow();
11+
});
12+
});

example/src/square.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module.exports = function square(n) {
2+
// info
3+
console.info("Received value: " + n);
4+
5+
if (typeof n !== "number") {
6+
// this error is preserved with rule.keep
7+
console.error("Received invalid input: " + n);
8+
return NaN;
9+
}
10+
11+
if (!Number.isInteger(n)) {
12+
// warning
13+
console.warn("Received a non-integer number: " + n);
14+
}
15+
16+
return n * n;
17+
};

example/src/square.test.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const square = require("./square");
2+
3+
describe("square", () => {
4+
it("squares an integer", () => {
5+
expect(square(3)).toBe(9);
6+
});
7+
8+
it("squares a non-integer number", () => {
9+
expect(square(2.5)).toBe(6.25);
10+
});
11+
12+
it("fails to square a non-number", () => {
13+
expect(square("bob")).toBe(NaN);
14+
});
15+
});

0 commit comments

Comments
 (0)