UNPKG

@dpkit/file

Version:

Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames

56 lines 5.41 kB
import { describe, expect, it } from "vitest"; import { getCommonLocalBasepath } from "./path.js"; describe("getCommonLocalBasepath", () => { it.each([ { description: "same directory different files", paths: ["data/table1.csv", "data/table2.csv"], basepath: "data", }, { description: "nested directories", paths: [ "data/nested/file1.csv", "data/nested/file2.csv", "data/file3.csv", ], basepath: "data", }, { description: "single path", paths: ["data/file.csv"], basepath: "data", }, { description: "root level files", paths: ["file1.csv", "file2.csv"], basepath: "", }, { description: "different top-level directories", paths: ["data1/file1.csv", "data2/file2.csv"], basepath: "", }, { description: "empty paths array", paths: [], basepath: undefined, }, { description: "some path are remote", paths: ["https://example.com/table.csv", "data/table.csv"], basepath: "data", }, { description: "all paths are remote", paths: [ "https://example.com/table1.csv", "https://example.com/table2.csv", ], basepath: undefined, }, ])("$description", ({ paths, basepath }) => { expect(getCommonLocalBasepath(paths)).toEqual(basepath); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vcGFja2FnZS9wYXRoLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVsRCxRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDTjtZQUNFLFdBQVcsRUFBRSxnQ0FBZ0M7WUFDN0MsS0FBSyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7WUFDN0MsUUFBUSxFQUFFLE1BQU07U0FDakI7UUFDRDtZQUNFLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsS0FBSyxFQUFFO2dCQUNMLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixnQkFBZ0I7YUFDakI7WUFDRCxRQUFRLEVBQUUsTUFBTTtTQUNqQjtRQUNEO1lBQ0UsV0FBVyxFQUFFLGFBQWE7WUFDMUIsS0FBSyxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxNQUFNO1NBQ2pCO1FBQ0Q7WUFDRSxXQUFXLEVBQUUsa0JBQWtCO1lBQy9CLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDakMsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztZQUM3QyxRQUFRLEVBQUUsRUFBRTtTQUNiO1FBQ0Q7WUFDRSxXQUFXLEVBQUUsbUJBQW1CO1lBQ2hDLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLFNBQVM7U0FDcEI7UUFDRDtZQUNFLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsS0FBSyxFQUFFLENBQUMsK0JBQStCLEVBQUUsZ0JBQWdCLENBQUM7WUFDMUQsUUFBUSxFQUFFLE1BQU07U0FDakI7UUFDRDtZQUNFLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsS0FBSyxFQUFFO2dCQUNMLGdDQUFnQztnQkFDaEMsZ0NBQWdDO2FBQ2pDO1lBQ0QsUUFBUSxFQUFFLFNBQVM7U0FDcEI7S0FDRixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtRQUN6QyxNQUFNLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekQsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGVzdFwiXG5pbXBvcnQgeyBnZXRDb21tb25Mb2NhbEJhc2VwYXRoIH0gZnJvbSBcIi4vcGF0aC50c1wiXG5cbmRlc2NyaWJlKFwiZ2V0Q29tbW9uTG9jYWxCYXNlcGF0aFwiLCAoKSA9PiB7XG4gIGl0LmVhY2goW1xuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcInNhbWUgZGlyZWN0b3J5IGRpZmZlcmVudCBmaWxlc1wiLFxuICAgICAgcGF0aHM6IFtcImRhdGEvdGFibGUxLmNzdlwiLCBcImRhdGEvdGFibGUyLmNzdlwiXSxcbiAgICAgIGJhc2VwYXRoOiBcImRhdGFcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIm5lc3RlZCBkaXJlY3Rvcmllc1wiLFxuICAgICAgcGF0aHM6IFtcbiAgICAgICAgXCJkYXRhL25lc3RlZC9maWxlMS5jc3ZcIixcbiAgICAgICAgXCJkYXRhL25lc3RlZC9maWxlMi5jc3ZcIixcbiAgICAgICAgXCJkYXRhL2ZpbGUzLmNzdlwiLFxuICAgICAgXSxcbiAgICAgIGJhc2VwYXRoOiBcImRhdGFcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcInNpbmdsZSBwYXRoXCIsXG4gICAgICBwYXRoczogW1wiZGF0YS9maWxlLmNzdlwiXSxcbiAgICAgIGJhc2VwYXRoOiBcImRhdGFcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcInJvb3QgbGV2ZWwgZmlsZXNcIixcbiAgICAgIHBhdGhzOiBbXCJmaWxlMS5jc3ZcIiwgXCJmaWxlMi5jc3ZcIl0sXG4gICAgICBiYXNlcGF0aDogXCJcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcImRpZmZlcmVudCB0b3AtbGV2ZWwgZGlyZWN0b3JpZXNcIixcbiAgICAgIHBhdGhzOiBbXCJkYXRhMS9maWxlMS5jc3ZcIiwgXCJkYXRhMi9maWxlMi5jc3ZcIl0sXG4gICAgICBiYXNlcGF0aDogXCJcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcImVtcHR5IHBhdGhzIGFycmF5XCIsXG4gICAgICBwYXRoczogW10sXG4gICAgICBiYXNlcGF0aDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAge1xuICAgICAgZGVzY3JpcHRpb246IFwic29tZSBwYXRoIGFyZSByZW1vdGVcIixcbiAgICAgIHBhdGhzOiBbXCJodHRwczovL2V4YW1wbGUuY29tL3RhYmxlLmNzdlwiLCBcImRhdGEvdGFibGUuY3N2XCJdLFxuICAgICAgYmFzZXBhdGg6IFwiZGF0YVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZGVzY3JpcHRpb246IFwiYWxsIHBhdGhzIGFyZSByZW1vdGVcIixcbiAgICAgIHBhdGhzOiBbXG4gICAgICAgIFwiaHR0cHM6Ly9leGFtcGxlLmNvbS90YWJsZTEuY3N2XCIsXG4gICAgICAgIFwiaHR0cHM6Ly9leGFtcGxlLmNvbS90YWJsZTIuY3N2XCIsXG4gICAgICBdLFxuICAgICAgYmFzZXBhdGg6IHVuZGVmaW5lZCxcbiAgICB9LFxuICBdKShcIiRkZXNjcmlwdGlvblwiLCAoeyBwYXRocywgYmFzZXBhdGggfSkgPT4ge1xuICAgIGV4cGVjdChnZXRDb21tb25Mb2NhbEJhc2VwYXRoKHBhdGhzKSkudG9FcXVhbChiYXNlcGF0aClcbiAgfSlcbn0pXG4iXX0=