Adding tests and changing how toWebviewResource works

- Allow placeholders in the webviewEndpoint. This is required to support serving each webview from its own origin
- Add tests for toWebviewResource
This commit is contained in:
Matt Bierner
2019-07-09 11:27:43 -07:00
parent 9a76b14f27
commit f963c9a2a8
6 changed files with 75 additions and 30 deletions

View File

@@ -13,12 +13,12 @@ export interface WebviewInitData {
export function toWebviewResource(
initData: WebviewInitData,
uuid: string,
resource: vscode.Uri
): vscode.Uri {
const rootUri = URI.parse(initData.webviewResourceRoot);
return rootUri.with({
path: rootUri.path + resource.path,
query: resource.query,
fragment: resource.fragment,
});
const uri = initData.webviewResourceRoot
.replace('{{resource}}', resource.toString().replace(/^\S+?:/, ''))
.replace('{{uuid}}', uuid);
return URI.parse(uri);
}