| 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", | |
| }, | |
| ]); | |
| }); | |
| }); | |