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