mirror of
https://github.com/jlengrand/open-wc.git
synced 2026-03-10 08:31:19 +00:00
192 lines
4.9 KiB
JSON
192 lines
4.9 KiB
JSON
{
|
|
"importMapBaseURL": "https://base.example/path1/path2/path3",
|
|
"tests": {
|
|
"Relative URL scope keys should work with no prefix": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"foo": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/foo": {}
|
|
}
|
|
}
|
|
},
|
|
"Relative URL scope keys should work with ./, ../, and / prefixes": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"./foo": {},
|
|
"../foo": {},
|
|
"/foo": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/foo": {},
|
|
"https://base.example/path1/foo": {},
|
|
"https://base.example/foo": {}
|
|
}
|
|
}
|
|
},
|
|
"Absolute URL scope keys should ignore relative URL scope keys when the base URL is a data: URL": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"./foo": {},
|
|
"../foo": {},
|
|
"/foo": {}
|
|
}
|
|
},
|
|
"importMapBaseURL": "data:text/html,test",
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {}
|
|
}
|
|
},
|
|
"Relative URL scope keys should work with ./, ../, or / with no suffix": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"./": {},
|
|
"../": {},
|
|
"/": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/": {},
|
|
"https://base.example/path1/": {},
|
|
"https://base.example/": {}
|
|
}
|
|
}
|
|
},
|
|
"Relative URL scope keys should work with /s, ?s, and #s": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"foo/bar?baz#qux": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/foo/bar?baz#qux": {}
|
|
}
|
|
}
|
|
},
|
|
"Relative URL scope keys should work with an empty string scope key": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/path3": {}
|
|
}
|
|
}
|
|
},
|
|
"Relative URL scope keys should work with / suffixes": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"foo/": {},
|
|
"./foo/": {},
|
|
"../foo/": {},
|
|
"/foo/": {},
|
|
"/foo//": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/foo/": {},
|
|
"https://base.example/path1/foo/": {},
|
|
"https://base.example/foo/": {},
|
|
"https://base.example/foo//": {}
|
|
}
|
|
}
|
|
},
|
|
"Relative URL scope keys should deduplicate based on URL parsing rules": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"foo/\\": {
|
|
"1": "./a"
|
|
},
|
|
"foo//": {
|
|
"2": "./b"
|
|
},
|
|
"foo\\\\": {
|
|
"3": "./c"
|
|
}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/foo//": {
|
|
"3": "https://base.example/path1/path2/c"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Absolute URL scope keys should accept all absolute URL scope keys, with or without fetch schemes": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"about:good": {},
|
|
"blob:good": {},
|
|
"data:good": {},
|
|
"file:///good": {},
|
|
"filesystem:http://example.com/good/": {},
|
|
"http://good/": {},
|
|
"https://good/": {},
|
|
"ftp://good/": {},
|
|
"import:bad": {},
|
|
"mailto:bad": {},
|
|
"javascript:bad": {},
|
|
"wss:ba": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"about:good": {},
|
|
"blob:good": {},
|
|
"data:good": {},
|
|
"file:///good": {},
|
|
"filesystem:http://example.com/good/": {},
|
|
"http://good/": {},
|
|
"https://good/": {},
|
|
"ftp://good/": {},
|
|
"import:bad": {},
|
|
"mailto:bad": {},
|
|
"javascript:bad": {},
|
|
"wss://ba/": {}
|
|
}
|
|
}
|
|
},
|
|
"Absolute URL scope keys should parse absolute URL scope keys, ignoring unparseable ones": {
|
|
"importMap": {
|
|
"scopes": {
|
|
"https://example.com:demo": {},
|
|
"http://[www.example.com]/": {},
|
|
"https:example.org": {},
|
|
"https://///example.com///": {},
|
|
"https://example.net": {},
|
|
"https://ex%41mple.com/foo/": {}
|
|
}
|
|
},
|
|
"expectedParsedImportMap": {
|
|
"imports": {},
|
|
"scopes": {
|
|
"https://base.example/path1/path2/example.org": {},
|
|
"https://example.com///": {},
|
|
"https://example.net/": {},
|
|
"https://example.com/foo/": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|