Test: Make runPrettier result "thenable" (#11979)

This commit is contained in:
fisker Cheung authored and GitHub committed 2021-12-18 11:10:03 +08:00
1 parent a8a54f2389
commit 6317e6557e
4 files changed
+51 -42

No files matched your search

+15 -13
View File
@@ -93,25 +93,27 @@ describe("throw error and show usage with something unexpected", () => {
test("node version error", async () => {
const originalProcessVersion = process.version;
let result;
Object.defineProperty(process, "version", {
value: "v8.0.0",
writable: false,
});
try {
Object.defineProperty(process, "version", {
value: "v8.0.0",
writable: false,
});
const result = runPrettier("cli", ["--help"]);
expect(await result.status).toBe(1);
expect(await result.stderr).toBe(
`prettier requires at least version ${
isProduction ? "10.13.0" : "12.17.0"
} of Node, please upgrade\n`
);
expect(await result.stdout).toBe("");
expect(await result.write).toEqual([]);
result = await runPrettier("cli", ["--help"]);
} finally {
Object.defineProperty(process, "version", {
value: originalProcessVersion,
writable: false,
});
}
expect(result.status).toBe(1);
expect(result.stderr).toBe(
`prettier requires at least version ${
isProduction ? "10.13.0" : "12.17.0"
} of Node, please upgrade\n`
);
expect(result.stdout).toBe("");
expect(result.write).toEqual([]);
});
+3 -3
View File
@@ -38,7 +38,7 @@ describe("Should use default level logger to log `--loglevel` error", () => {
});
async function runPrettierWithLogLevel(logLevel, patterns) {
const result = runPrettier("cli/loglevel", [
const result = await runPrettier("cli/loglevel", [
"--loglevel",
logLevel,
"--unknown-option",
@@ -47,9 +47,9 @@ async function runPrettierWithLogLevel(logLevel, patterns) {
"not-found.js",
]);
expect(await result.status).toBe(2);
expect(result.status).toBe(2);
const stderr = stripAnsi(await result.stderr);
const stderr = stripAnsi(result.stderr);
if (patterns) {
for (const pattern of patterns) {
+30 -26
View File
@@ -3,7 +3,7 @@
const runPrettier = require("../runPrettier.js");
describe("output with --check + unformatted differs when piped", () => {
const result0 = runPrettier(
const cli0 = runPrettier(
"cli/write",
["--write", "--check", "--no-color", "unformatted.js"],
{ stdoutIsTTY: true }
@@ -11,7 +11,7 @@ describe("output with --check + unformatted differs when piped", () => {
status: 0,
});
const result1 = runPrettier(
const cli1 = runPrettier(
"cli/write",
["--write", "--check", "--no-color", "unformatted.js"],
{ stdoutIsTTY: false }
@@ -20,15 +20,16 @@ describe("output with --check + unformatted differs when piped", () => {
});
test("Result", async () => {
expect((await result0.stdout).length).toBeGreaterThan(
(await result1.stdout).length
);
expect(await result0.write).toEqual(await result1.write);
const result0 = await cli0;
const result1 = await cli1;
expect(result0.stdout.length).toBeGreaterThan(result1.stdout.length);
expect(result0.write).toEqual(result1.write);
});
});
describe("no file diffs with --check + formatted file", () => {
const result0 = runPrettier(
const cli0 = runPrettier(
"cli/write",
["--write", "--check", "--no-color", "formatted.js"],
{ stdoutIsTTY: true }
@@ -36,7 +37,7 @@ describe("no file diffs with --check + formatted file", () => {
status: 0,
});
const result1 = runPrettier(
const cli1 = runPrettier(
"cli/write",
["--write", "--check", "--no-color", "formatted.js"],
{ stdoutIsTTY: false }
@@ -45,16 +46,17 @@ describe("no file diffs with --check + formatted file", () => {
});
test("Result", async () => {
expect(await result0.stdout).not.toEqual(await result1.stdout);
expect((await result0.stdout).length).toBeGreaterThan(
(await result1.stdout).length
);
expect(await result0.write).toEqual(await result1.write);
const result0 = await cli0;
const result1 = await cli1;
expect(result0.stdout).not.toEqual(result1.stdout);
expect(result0.stdout.length).toBeGreaterThan(result1.stdout.length);
expect(result0.write).toEqual(result1.write);
});
});
describe("output with --list-different + unformatted differs when piped", () => {
const result0 = runPrettier(
const cli0 = runPrettier(
"cli/write",
["--write", "--list-different", "--no-color", "unformatted.js"],
{ stdoutIsTTY: true }
@@ -62,7 +64,7 @@ describe("output with --list-different + unformatted differs when piped", () =>
status: 0,
});
const result1 = runPrettier(
const cli1 = runPrettier(
"cli/write",
["--write", "--list-different", "--no-color", "unformatted.js"],
{ stdoutIsTTY: false }
@@ -71,15 +73,16 @@ describe("output with --list-different + unformatted differs when piped", () =>
});
test("Result", async () => {
expect((await result0.stdout).length).toBeGreaterThan(
(await result1.stdout).length
);
expect(await result0.write).toEqual(await result1.write);
const result0 = await cli0;
const result1 = await cli1;
expect(result0.stdout.length).toBeGreaterThan(result1.stdout.length);
expect(result0.write).toEqual(result1.write);
});
});
describe("no file diffs with --list-different + formatted file", () => {
const result0 = runPrettier(
const cli0 = runPrettier(
"cli/write",
["--write", "--list-different", "--no-color", "formatted.js"],
{ stdoutIsTTY: true }
@@ -87,7 +90,7 @@ describe("no file diffs with --list-different + formatted file", () => {
status: 0,
});
const result1 = runPrettier(
const cli1 = runPrettier(
"cli/write",
["--write", "--list-different", "--no-color", "formatted.js"],
{ stdoutIsTTY: false }
@@ -96,10 +99,11 @@ describe("no file diffs with --list-different + formatted file", () => {
});
test("Result", async () => {
expect(await result0.stdout).not.toEqual(await result1.stdout);
expect((await result0.stdout).length).toBeGreaterThan(
(await result1.stdout).length
);
expect(await result0.write).toEqual(await result1.write);
const result0 = await cli0;
const result1 = await cli1;
expect(result0.stdout).not.toEqual(result1.stdout);
expect(result0.stdout.length).toBeGreaterThan(result1.stdout.length);
expect(result0.write).toEqual(result1.write);
});
});
+3
View File
@@ -155,6 +155,9 @@ function runPrettier(dir, args = [], options = {}) {
return runCli().then(({ write }) => write);
},
test: testResult,
then(onFulfilled, onRejected) {
return runCli().then(onFulfilled, onRejected);
},
};
return getters;