You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.9 KiB
99 lines
2.9 KiB
import { assert } from "chai"; |
|
import { getPathsToTry } from "../src/try-path"; |
|
import { join } from "path"; |
|
|
|
describe("mapping-entry", () => { |
|
const abosolutePathMappings = [ |
|
{ |
|
pattern: "longest/pre/fix/*", |
|
paths: [join("/absolute", "base", "url", "foo2", "bar")] |
|
}, |
|
{ pattern: "pre/fix/*", paths: [join("/absolute", "base", "url", "foo3")] }, |
|
{ pattern: "*", paths: [join("/absolute", "base", "url", "foo1")] } |
|
]; |
|
it("should return no paths for relative requested module", () => { |
|
const result = getPathsToTry( |
|
[".ts", "tsx"], |
|
abosolutePathMappings, |
|
"./requested-module" |
|
); |
|
assert.deepEqual(result, undefined); |
|
}); |
|
|
|
it("should return no paths if no pattern match the requested module", () => { |
|
const result = getPathsToTry( |
|
[".ts", "tsx"], |
|
[ |
|
{ |
|
pattern: "longest/pre/fix/*", |
|
paths: [join("/absolute", "base", "url", "foo2", "bar")] |
|
}, |
|
{ |
|
pattern: "pre/fix/*", |
|
paths: [join("/absolute", "base", "url", "foo3")] |
|
} |
|
], |
|
"requested-module" |
|
); |
|
assert.deepEqual(result, undefined); |
|
}); |
|
|
|
it("should get all paths that matches requested module", () => { |
|
const result = getPathsToTry( |
|
[".ts", ".tsx"], |
|
abosolutePathMappings, |
|
"longest/pre/fix/requested-module" |
|
); |
|
assert.deepEqual(result, [ |
|
// "longest/pre/fix/*" |
|
{ type: "file", path: join("/absolute", "base", "url", "foo2", "bar") }, |
|
{ |
|
type: "extension", |
|
path: join("/absolute", "base", "url", "foo2", "bar.ts") |
|
}, |
|
{ |
|
type: "extension", |
|
path: join("/absolute", "base", "url", "foo2", "bar.tsx") |
|
}, |
|
{ |
|
type: "package", |
|
path: join("/absolute", "base", "url", "foo2", "bar", "package.json") |
|
}, |
|
{ |
|
type: "index", |
|
path: join("/absolute", "base", "url", "foo2", "bar", "index.ts") |
|
}, |
|
{ |
|
type: "index", |
|
path: join("/absolute", "base", "url", "foo2", "bar", "index.tsx") |
|
}, |
|
// "*" |
|
{ type: "file", path: join("/absolute", "base", "url", "foo1") }, |
|
{ type: "extension", path: join("/absolute", "base", "url", "foo1.ts") }, |
|
{ type: "extension", path: join("/absolute", "base", "url", "foo1.tsx") }, |
|
{ |
|
type: "package", |
|
path: join("/absolute", "base", "url", "foo1", "package.json") |
|
}, |
|
{ |
|
type: "index", |
|
path: join("/absolute", "base", "url", "foo1", "index.ts") |
|
}, |
|
{ |
|
type: "index", |
|
path: join("/absolute", "base", "url", "foo1", "index.tsx") |
|
} |
|
]); |
|
}); |
|
}); |
|
|
|
// describe("match-star", () => { |
|
// it("should match star in last position", () => { |
|
// const result = matchStar("lib/*", "lib/mylib"); |
|
// assert.equal(result, "mylib"); |
|
// }); |
|
// it("should match star in first position", () => { |
|
// const result = matchStar("*/lib", "mylib/lib"); |
|
// assert.equal(result, "mylib"); |
|
// }); |
|
// });
|
|
|