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.
47 lines
1.3 KiB
47 lines
1.3 KiB
import { assert } from "chai"; |
|
import { getAbsoluteMappingEntries } from "../src/mapping-entry"; |
|
import { join } from "path"; |
|
|
|
describe("mapping-entry", () => { |
|
it("should change to absolute paths and sort in longest prefix order", () => { |
|
const result = getAbsoluteMappingEntries( |
|
"/absolute/base/url", |
|
{ |
|
"*": ["/foo1", "/foo2"], |
|
"longest/pre/fix/*": ["/foo2/bar"], |
|
"pre/fix/*": ["/foo3"] |
|
}, |
|
true |
|
); |
|
assert.deepEqual(result, [ |
|
{ |
|
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"), |
|
join("/absolute", "base", "url", "foo2") |
|
] |
|
} |
|
]); |
|
}); |
|
|
|
it("should should add a match-all pattern when requested", () => { |
|
let result = getAbsoluteMappingEntries("/absolute/base/url", {}, true); |
|
assert.deepEqual(result, [ |
|
{ |
|
pattern: "*", |
|
paths: [join("/absolute", "base", "url", "*")] |
|
} |
|
]); |
|
|
|
result = getAbsoluteMappingEntries("/absolute/base/url", {}, false); |
|
assert.deepEqual(result, []); |
|
}); |
|
});
|
|
|