mirror of
https://github.com/oven-sh/bun
synced 2026-02-15 05:12:29 +00:00
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { describe, beforeAll, afterAll, it, expect } from "bun:test";
|
|
import fs from "node:fs";
|
|
import os from "node:os";
|
|
import path from "node:path";
|
|
|
|
describe("given a directory that exists", () => {
|
|
let dirname: string;
|
|
|
|
beforeAll(() => {
|
|
const name = "dir-sync.test." + String(Math.random() * 100).substring(0, 6);
|
|
dirname = path.join(os.tmpdir(), name);
|
|
fs.mkdirSync(dirname);
|
|
});
|
|
|
|
afterAll(() => {
|
|
fs.rmdirSync(dirname, { recursive: true });
|
|
});
|
|
|
|
it("can be opened/closed synchronously", () => {
|
|
const dir = fs.opendirSync(dirname);
|
|
expect(dir).toBeDefined();
|
|
expect(dir).toBeInstanceOf(fs.Dir);
|
|
expect(dir.closeSync()).toBeUndefined();
|
|
expect(() => dir.readSync()).toThrow("Directory handle was closed");
|
|
});
|
|
|
|
it("can be opened/closed asynchronously", async () => {
|
|
const dir = await fs.promises.opendir(dirname);
|
|
expect(dir).toBeDefined();
|
|
expect(dir).toBeInstanceOf(fs.Dir);
|
|
expect(await dir.close()).toBeUndefined();
|
|
expect(() => dir.read()).toThrow("Directory handle was closed");
|
|
});
|
|
});
|