From 5b03dcd69d98b6540f789868cf4647b6486ed739 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 8 Oct 2018 10:08:34 -0700 Subject: [PATCH] Add pinning test for setting localResourceRoots --- .../src/singlefolder-tests/webview.test.ts | 30 ++++++++++++++++++ .../testWorkspace/sub/image.png | Bin 0 -> 36726 bytes 2 files changed, 30 insertions(+) create mode 100644 extensions/vscode-api-tests/testWorkspace/sub/image.png diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts index 3bde493b12b..d211db9565b 100644 --- a/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts +++ b/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts @@ -277,6 +277,36 @@ suite('Webview tests', () => { assert.strictEqual((await response).value, false); } }); + + test('webviews should allow overriding allowed resource paths using localResourceRoots', async () => { + const webview = _register(vscode.window.createWebviewPanel(webviewId, 'title', { viewColumn: vscode.ViewColumn.One }, { + enableScripts: true, + localResourceRoots: [vscode.Uri.file(join(vscode.workspace.rootPath!, 'sub'))] + })); + + webview.webview.html = createHtmlDocumentWithBody(/*html*/` + `); + + const workspaceRootUri = vscode.Uri.file(vscode.workspace.rootPath!).with({ scheme: 'vscode-resource' }); + + { + const response = sendRecieveMessage(webview, { src: workspaceRootUri.toString() + '/sub/image.png' }); + assert.strictEqual((await response).value, true); + } + { + const response = sendRecieveMessage(webview, { src: workspaceRootUri.toString() + '/image.png' }); + assert.strictEqual((await response).value, false); + } + }); }); function createHtmlDocumentWithBody(body: string): string { diff --git a/extensions/vscode-api-tests/testWorkspace/sub/image.png b/extensions/vscode-api-tests/testWorkspace/sub/image.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8b42295dd3078e8336b79f03385de09d68ed33 GIT binary patch literal 36726 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 literal 0 HcmV?d00001 -- GitLab