import { describe, expect, test } from "vitest";import { isExpectedSnapshotRaceError, isFileNotFoundError,} from "../src/fs-errors.ts"; function errnoError(code: string): NodeJS.ErrnoException { const error = new Error(code) as NodeJS.ErrnoException; error.code = code; return error;} describe("isFileNotFoundError", () => { test("is true for an ENOENT error", () => { expect(isFileNotFoundError(errnoError("ENOENT"))).toBe(true); }); test("is false for other error codes", () => { expect(isFileNotFoundError(errnoError("EACCES"))).toBe(false); expect(isFileNotFoundError(errnoError("EISDIR"))).toBe(false); }); test("is false for an Error with no code", () => { expect(isFileNotFoundError(new Error("boom"))).toBe(false); }); test("is false for non-error values", () => { expect(isFileNotFoundError(null)).toBe(false); expect(isFileNotFoundError("ENOENT")).toBe(false); expect(isFileNotFoundError({ code: "ENOENT" })).toBe(false); });}); describe("isExpectedSnapshotRaceError", () => { test("is true for the tolerated snapshot race codes", () => { for (const code of ["EISDIR", "ENOENT", "ENOTDIR"]) { expect(isExpectedSnapshotRaceError(errnoError(code))).toBe(true); } }); test("is false for unrelated error codes", () => { expect(isExpectedSnapshotRaceError(errnoError("EACCES"))).toBe(false); }); test("is false for an Error with no code", () => { expect(isExpectedSnapshotRaceError(new Error("boom"))).toBe(false); }); test("is false for non-error values", () => { expect(isExpectedSnapshotRaceError(null)).toBe(false); expect(isExpectedSnapshotRaceError({ code: "ENOENT" })).toBe(false); });});
import { describe, expect, test } from "vitest";
import {
isExpectedSnapshotRaceError,
isFileNotFoundError,
} from "../src/fs-errors.ts";
function errnoError(code: string): NodeJS.ErrnoException {
const error = new Error(code) as NodeJS.ErrnoException;
error.code = code;
return error;
}
describe("isFileNotFoundError", () => {
test("is true for an ENOENT error", () => {
expect(isFileNotFoundError(errnoError("ENOENT"))).toBe(true);
});
test("is false for other error codes", () => {
expect(isFileNotFoundError(errnoError("EACCES"))).toBe(false);
expect(isFileNotFoundError(errnoError("EISDIR"))).toBe(false);
});
test("is false for an Error with no code", () => {
expect(isFileNotFoundError(new Error("boom"))).toBe(false);
});
test("is false for non-error values", () => {
expect(isFileNotFoundError(null)).toBe(false);
expect(isFileNotFoundError("ENOENT")).toBe(false);
expect(isFileNotFoundError({ code: "ENOENT" })).toBe(false);
});
});
describe("isExpectedSnapshotRaceError", () => {
test("is true for the tolerated snapshot race codes", () => {
for (const code of ["EISDIR", "ENOENT", "ENOTDIR"]) {
expect(isExpectedSnapshotRaceError(errnoError(code))).toBe(true);
}
});
test("is false for unrelated error codes", () => {
expect(isExpectedSnapshotRaceError(errnoError("EACCES"))).toBe(false);
});
test("is false for an Error with no code", () => {
expect(isExpectedSnapshotRaceError(new Error("boom"))).toBe(false);
});
test("is false for non-error values", () => {
expect(isExpectedSnapshotRaceError(null)).toBe(false);
expect(isExpectedSnapshotRaceError({ code: "ENOENT" })).toBe(false);
});
});