mirror of
https://github.com/jlengrand/open-wc.git
synced 2026-03-10 08:31:19 +00:00
135 lines
4.5 KiB
JSON
135 lines
4.5 KiB
JSON
{
|
|
"name": "Exact vs. prefix based matching",
|
|
"details": "Scopes are matched with base URLs that are exactly the same or subpaths under the scopes with trailing shashes",
|
|
"link": "https://wicg.github.io/import-maps/#resolve-a-module-specifier Step 8.1",
|
|
"tests": {
|
|
"Scope without trailing slash only": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"/js": {
|
|
"moment": "/only-triggered-by-exact/moment",
|
|
"moment/": "/only-triggered-by-exact/moment/"
|
|
}
|
|
}
|
|
},
|
|
"importMapBaseURL": "https://example.com/app/index.html",
|
|
"tests": {
|
|
"Non-trailing-slash base URL (exact match)": {
|
|
"baseURL": "https://example.com/js",
|
|
"expectedResults": {
|
|
"moment": "https://example.com/only-triggered-by-exact/moment",
|
|
"moment/foo": "https://example.com/only-triggered-by-exact/moment/foo"
|
|
}
|
|
},
|
|
"Trailing-slash base URL (fail)": {
|
|
"baseURL": "https://example.com/js/",
|
|
"expectedResults": {
|
|
"moment": null,
|
|
"moment/foo": null
|
|
}
|
|
},
|
|
"Subpath base URL (fail)": {
|
|
"baseURL": "https://example.com/js/app.mjs",
|
|
"expectedResults": {
|
|
"moment": null,
|
|
"moment/foo": null
|
|
}
|
|
},
|
|
"Non-subpath base URL (fail)": {
|
|
"baseURL": "https://example.com/jsiscool",
|
|
"expectedResults": {
|
|
"moment": null,
|
|
"moment/foo": null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Scope with trailing slash only": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"/js/": {
|
|
"moment": "/triggered-by-any-subpath/moment",
|
|
"moment/": "/triggered-by-any-subpath/moment/"
|
|
}
|
|
}
|
|
},
|
|
"importMapBaseURL": "https://example.com/app/index.html",
|
|
"tests": {
|
|
"Non-trailing-slash base URL (fail)": {
|
|
"baseURL": "https://example.com/js",
|
|
"expectedResults": {
|
|
"moment": null,
|
|
"moment/foo": null
|
|
}
|
|
},
|
|
"Trailing-slash base URL (exact match)": {
|
|
"baseURL": "https://example.com/js/",
|
|
"expectedResults": {
|
|
"moment": "https://example.com/triggered-by-any-subpath/moment",
|
|
"moment/foo": "https://example.com/triggered-by-any-subpath/moment/foo"
|
|
}
|
|
},
|
|
"Subpath base URL (prefix match)": {
|
|
"baseURL": "https://example.com/js/app.mjs",
|
|
"expectedResults": {
|
|
"moment": "https://example.com/triggered-by-any-subpath/moment",
|
|
"moment/foo": "https://example.com/triggered-by-any-subpath/moment/foo"
|
|
}
|
|
},
|
|
"Non-subpath base URL (fail)": {
|
|
"baseURL": "https://example.com/jsiscool",
|
|
"expectedResults": {
|
|
"moment": null,
|
|
"moment/foo": null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Scopes with and without trailing slash": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"/js": {
|
|
"moment": "/only-triggered-by-exact/moment",
|
|
"moment/": "/only-triggered-by-exact/moment/"
|
|
},
|
|
"/js/": {
|
|
"moment": "/triggered-by-any-subpath/moment",
|
|
"moment/": "/triggered-by-any-subpath/moment/"
|
|
}
|
|
}
|
|
},
|
|
"importMapBaseURL": "https://example.com/app/index.html",
|
|
"tests": {
|
|
"Non-trailing-slash base URL (exact match)": {
|
|
"baseURL": "https://example.com/js",
|
|
"expectedResults": {
|
|
"moment": "https://example.com/only-triggered-by-exact/moment",
|
|
"moment/foo": "https://example.com/only-triggered-by-exact/moment/foo"
|
|
}
|
|
},
|
|
"Trailing-slash base URL (exact match)": {
|
|
"baseURL": "https://example.com/js/",
|
|
"expectedResults": {
|
|
"moment": "https://example.com/triggered-by-any-subpath/moment",
|
|
"moment/foo": "https://example.com/triggered-by-any-subpath/moment/foo"
|
|
}
|
|
},
|
|
"Subpath base URL (prefix match)": {
|
|
"baseURL": "https://example.com/js/app.mjs",
|
|
"expectedResults": {
|
|
"moment": "https://example.com/triggered-by-any-subpath/moment",
|
|
"moment/foo": "https://example.com/triggered-by-any-subpath/moment/foo"
|
|
}
|
|
},
|
|
"Non-subpath base URL (fail)": {
|
|
"baseURL": "https://example.com/jsiscool",
|
|
"expectedResults": {
|
|
"moment": null,
|
|
"moment/foo": null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|