From 6317e6557ec2518bcec96d73536350363c158aa5 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sat, 18 Dec 2021 11:10:03 +0800 Subject: [PATCH] Test: Make `runPrettier` result "thenable" (#11979) --- tests/integration/__tests__/early-exit.js | 28 ++++++----- tests/integration/__tests__/loglevel.js | 6 +-- tests/integration/__tests__/piped-output.js | 56 +++++++++++---------- tests/integration/runPrettier.js | 3 ++ 4 files changed, 51 insertions(+), 42 deletions(-) diff --git a/tests/integration/__tests__/early-exit.js b/tests/integration/__tests__/early-exit.js index a23db751a..85277ba5a 100644 --- a/tests/integration/__tests__/early-exit.js +++ b/tests/integration/__tests__/early-exit.js @@ -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([]); }); diff --git a/tests/integration/__tests__/loglevel.js b/tests/integration/__tests__/loglevel.js index 752d2530f..bb9bc3319 100644 --- a/tests/integration/__tests__/loglevel.js +++ b/tests/integration/__tests__/loglevel.js @@ -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) { diff --git a/tests/integration/__tests__/piped-output.js b/tests/integration/__tests__/piped-output.js index ad0cc248d..004c5eb89 100644 --- a/tests/integration/__tests__/piped-output.js +++ b/tests/integration/__tests__/piped-output.js @@ -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); }); }); diff --git a/tests/integration/runPrettier.js b/tests/integration/runPrettier.js index 4e9ad51f1..e2e813887 100644 --- a/tests/integration/runPrettier.js +++ b/tests/integration/runPrettier.js @@ -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;