js-hub / utils /sub-paths.spec.ts
coyotte508's picture
coyotte508 HF Staff
Add 1 files
21dd449 verified
import { mkdir, writeFile } from "fs/promises";
import { tmpdir } from "os";
import { describe, expect, it } from "vitest";
import { subPaths } from "./sub-paths";
import { pathToFileURL } from "url";
describe("sub-paths", () => {
it("should retrieve all sub-paths of a directory", async () => {
const tmpDir = tmpdir();
await mkdir(`${tmpDir}/test-dir/sub`, { recursive: true });
await writeFile(`${tmpDir}/test-dir/sub/file1.txt`, "file1");
await writeFile(`${tmpDir}/test-dir/sub/file2.txt`, "file2");
await writeFile(`${tmpDir}/test-dir/file3.txt`, "file3");
await writeFile(`${tmpDir}/test-dir/file4.txt`, "file4");
const result = await subPaths(pathToFileURL(`${tmpDir}/test-dir`));
expect(result).toEqual([
{
path: pathToFileURL(`${tmpDir}/test-dir/file3.txt`),
relativePath: "file3.txt",
},
{
path: pathToFileURL(`${tmpDir}/test-dir/file4.txt`),
relativePath: "file4.txt",
},
{
path: pathToFileURL(`${tmpDir}/test-dir/sub/file1.txt`),
relativePath: "sub/file1.txt",
},
{
path: pathToFileURL(`${tmpDir}/test-dir/sub/file2.txt`),
relativePath: "sub/file2.txt",
},
]);
});
});