2026-05-27 01:03:40 +08:00
|
|
|
import { test as it, expect } from "vite-plus/test";
|
2026-05-26 23:01:50 +08:00
|
|
|
import { run } from "./helpers/run.ts";
|
|
|
|
|
import stripAnsi from "strip-ansi";
|
|
|
|
|
|
2026-05-27 01:03:40 +08:00
|
|
|
it("render only last frame in CI", async () => {
|
2026-05-26 23:01:50 +08:00
|
|
|
const output = await run("ci", { env: { CI: "true" }, columns: 0 });
|
|
|
|
|
const clean = stripAnsi(output).replaceAll("\r", "");
|
|
|
|
|
for (let i = 0; i <= 4; i++) {
|
|
|
|
|
expect(clean).not.toContain(`Counter: ${i}`);
|
|
|
|
|
}
|
|
|
|
|
expect(clean).toContain("Counter: 5");
|
|
|
|
|
});
|
|
|
|
|
|
2026-05-27 01:03:40 +08:00
|
|
|
it("render all frames if CI=false", async () => {
|
2026-05-26 23:01:50 +08:00
|
|
|
const output = await run("ci", { env: { CI: "false" }, columns: 0 });
|
|
|
|
|
const clean = stripAnsi(output).replaceAll("\r", "");
|
2026-05-27 00:01:07 +08:00
|
|
|
expect(clean).toContain("Counter:");
|
|
|
|
|
expect(clean).toContain("Counter: 5");
|
|
|
|
|
expect(clean).toContain("#1");
|
2026-05-26 23:01:50 +08:00
|
|
|
});
|
|
|
|
|
|
2026-05-27 01:03:40 +08:00
|
|
|
it("debug mode in CI", async () => {
|
2026-05-26 23:01:50 +08:00
|
|
|
const output = await run("ci-debug", { env: { CI: "true" }, columns: 0 });
|
|
|
|
|
const clean = stripAnsi(output).replaceAll("\r", "");
|
2026-05-27 00:01:07 +08:00
|
|
|
expect(clean).toContain("Hello");
|
2026-05-26 23:01:50 +08:00
|
|
|
});
|
|
|
|
|
|
2026-05-27 01:03:40 +08:00
|
|
|
it("debug after exit", async () => {
|
2026-05-26 23:01:50 +08:00
|
|
|
const output = await run("ci-debug-after-exit", { env: { CI: "true" }, columns: 0 });
|
|
|
|
|
const clean = stripAnsi(output).replaceAll("\r", "");
|
2026-05-27 00:01:07 +08:00
|
|
|
expect(clean).toContain("Hello");
|
|
|
|
|
expect(clean).toContain("DONE");
|
2026-05-26 23:01:50 +08:00
|
|
|
});
|