initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import { expect, test } from "bun:test";
|
||||
import { bunEnv, bunExe, tempDir } from "harness";
|
||||
|
||||
test("issue #8768: describe.todo() doesn't fail when todo test passes", async () => {
|
||||
using dir = tempDir("issue-08768", {
|
||||
"describe-todo.test.js": `
|
||||
import { describe, test, expect } from "bun:test";
|
||||
|
||||
describe.todo("E", () => {
|
||||
test("E", () => { expect("hello").toBe("hello") })
|
||||
});
|
||||
`.trim(),
|
||||
"test-todo.test.js": `
|
||||
import { test, expect } from "bun:test";
|
||||
|
||||
test.todo("E", () => { expect("hello").toBe("hello") });
|
||||
`.trim(),
|
||||
});
|
||||
|
||||
// Run describe.todo() with --todo flag
|
||||
await using proc1 = Bun.spawn({
|
||||
cmd: [bunExe(), "test", "--todo", "describe-todo.test.js"],
|
||||
env: bunEnv,
|
||||
cwd: String(dir),
|
||||
stderr: "pipe",
|
||||
stdout: "pipe",
|
||||
});
|
||||
|
||||
const [stdout1, stderr1, exitCode1] = await Promise.all([proc1.stdout.text(), proc1.stderr.text(), proc1.exited]);
|
||||
|
||||
// Run test.todo() with --todo flag for comparison
|
||||
await using proc2 = Bun.spawn({
|
||||
cmd: [bunExe(), "test", "--todo", "test-todo.test.js"],
|
||||
env: bunEnv,
|
||||
cwd: String(dir),
|
||||
stderr: "pipe",
|
||||
stdout: "pipe",
|
||||
});
|
||||
|
||||
const [stdout2, stderr2, exitCode2] = await Promise.all([proc2.stdout.text(), proc2.stderr.text(), proc2.exited]);
|
||||
|
||||
// test.todo() correctly fails when the test passes (expected behavior)
|
||||
expect(exitCode2).not.toBe(0);
|
||||
const output2 = stdout2 + stderr2;
|
||||
expect(output2).toContain("todo");
|
||||
expect(output2).toMatch(/this test is marked as todo but passes/i);
|
||||
expect(exitCode1).toBe(1);
|
||||
|
||||
const output1 = stdout1 + stderr1;
|
||||
expect(output1).toContain("todo");
|
||||
expect(output1).toMatch(/this test is marked as todo but passes/i);
|
||||
});
|
||||
Reference in New Issue
Block a user