/
loglevel.js
61 lines (50 loc) · 1.48 KB
/
loglevel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"use strict";
const stripAnsi = require("strip-ansi");
const runPrettier = require("../runPrettier");
test("do not show logs with --loglevel silent", async () => {
await runPrettierWithLogLevel("silent", null);
});
test("do not show warnings with --loglevel error", async () => {
await runPrettierWithLogLevel("error", ["[error]"]);
});
test("show errors and warnings with --loglevel warn", async () => {
await runPrettierWithLogLevel("warn", ["[error]", "[warn]"]);
});
test("show all logs with --loglevel debug", async () => {
await runPrettierWithLogLevel("debug", ["[error]", "[warn]", "[debug]"]);
});
describe("--write with --loglevel=silent doesn't log filenames", () => {
runPrettier("cli/write", [
"--write",
"unformatted.js",
"--loglevel=silent",
]).test({
status: 0,
});
});
describe("Should use default level logger to log `--loglevel` error", () => {
runPrettier("cli/loglevel", ["--loglevel", "a-unknown-log-level"]).test({
status: "non-zero",
write: [],
stdout: "",
});
});
async function runPrettierWithLogLevel(logLevel, patterns) {
const result = runPrettier("cli/loglevel", [
"--loglevel",
logLevel,
"--unknown-option",
"--parser",
"unknown-parser",
"not-found.js",
]);
expect(await result.status).toEqual(2);
const stderr = stripAnsi(await result.stderr);
if (patterns) {
for (const pattern of patterns) {
expect(stderr).toMatch(pattern);
}
} else {
expect(stderr).toMatch(/^\s*$/);
}
}