honkit
Version:
HonKit is building beautiful books using Markdown.
40 lines (39 loc) • 1.72 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const promises_1 = __importDefault(require("fs/promises"));
const fs_1 = __importDefault(require("fs"));
const os_1 = __importDefault(require("os"));
const path_1 = __importDefault(require("path"));
const fs_2 = __importDefault(require("../fs"));
describe("fs", () => {
const createdPaths = [];
let tmpDir;
beforeAll(() => {
try {
tmpDir = fs_1.default.realpathSync.native(os_1.default.tmpdir());
}
catch {
tmpDir = os_1.default.tmpdir();
}
});
afterEach(async () => {
await Promise.all(createdPaths.splice(0).map((createdPath) => promises_1.default.rm(createdPath, { recursive: true, force: true })));
});
test("tmpDir creates a temporary directory", async () => {
const dir = await fs_2.default.tmpDir();
createdPaths.push(dir);
expect(path_1.default.dirname(dir)).toBe(tmpDir);
expect(path_1.default.basename(dir).startsWith("honkit-")).toBe(true);
await expect(promises_1.default.stat(dir)).resolves.toMatchObject({ isDirectory: expect.any(Function) });
});
test("tmpFile creates a temporary file", async () => {
const file = await fs_2.default.tmpFile();
createdPaths.push(file);
expect(path_1.default.dirname(file)).toBe(tmpDir);
expect(path_1.default.basename(file).startsWith("honkit-")).toBe(true);
await expect(promises_1.default.stat(file)).resolves.toMatchObject({ isFile: expect.any(Function) });
});
});