Spaces:
Running
Running
File size: 1,972 Bytes
be47857 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import { describe, expect, test } from "bun:test";
import {
decodeLocalDatasetSegment,
encodeLocalDatasetRoot,
isLocalRepoId,
localDatasetFileApiPath,
localRepoIdFromAbsolutePath,
looksLikeAbsoluteFilesystemPath,
normalizeUserLocalPathInput,
tryParseLocalDatasetFileApiUrl,
} from "@/utils/localDataset";
describe("localDataset", () => {
test("encode/decode round trip for unix path", () => {
const p = "/tmp/aic_lerobot";
const enc = encodeLocalDatasetRoot(p);
expect(decodeLocalDatasetSegment(enc)).toBe(p);
});
test("localRepoIdFromAbsolutePath and isLocalRepoId", () => {
const id = localRepoIdFromAbsolutePath("/data/foo");
expect(isLocalRepoId(id)).toBe(true);
expect(isLocalRepoId("lerobot/pusht")).toBe(false);
});
test("looksLikeAbsoluteFilesystemPath", () => {
expect(looksLikeAbsoluteFilesystemPath("/tmp/x")).toBe(true);
expect(looksLikeAbsoluteFilesystemPath("file:///tmp/x")).toBe(true);
expect(looksLikeAbsoluteFilesystemPath("C:\\data\\x")).toBe(true);
expect(looksLikeAbsoluteFilesystemPath("lerobot/foo")).toBe(false);
});
test("normalizeUserLocalPathInput strips file://", () => {
expect(normalizeUserLocalPathInput("file:///tmp/a")).toBe("/tmp/a");
});
test("localDatasetFileApiPath builds query string", () => {
const q = localDatasetFileApiPath("abc", "meta/info.json");
expect(q).toContain("/api/local-dataset/file?");
expect(q).toContain("root=abc");
expect(q).toContain("rel=");
});
test("tryParseLocalDatasetFileApiUrl", () => {
const u =
"http://127.0.0.1:3000/api/local-dataset/file?root=x&rel=meta%2Finfo.json";
expect(tryParseLocalDatasetFileApiUrl(u)).toEqual({
rootEncoded: "x",
relPath: "meta/info.json",
});
expect(
tryParseLocalDatasetFileApiUrl(
"/api/local-dataset/file?root=y&rel=data%2F0.parquet",
),
).toEqual({ rootEncoded: "y", relPath: "data/0.parquet" });
});
});
|