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