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 8c827872b18..8e895b68903 100644 --- a/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts +++ b/extensions/vscode-api-tests/src/singlefolder-tests/webview.test.ts @@ -47,6 +47,31 @@ suite('Webview tests', () => { assert.strictEqual((await firstResponse).value, 2); }); + test('webviews should update html', async () => { + const webview = _register(vscode.window.createWebviewPanel(webviewId, 'title', { viewColumn: vscode.ViewColumn.One }, { enableScripts: true })); + + { + const response = getMesssage(webview); + webview.webview.html = createHtmlDocumentWithBody(/*html*/` + `); + + assert.strictEqual((await response).value, 'first'); + } + { + const firstResponse = getMesssage(webview); + webview.webview.html = createHtmlDocumentWithBody(/*html*/` + `); + + assert.strictEqual((await firstResponse).value, 'second'); + } + }); + test('webviews should preserve vscode API state when they are hidden', async () => { const webview = _register(vscode.window.createWebviewPanel(webviewId, 'title', { viewColumn: vscode.ViewColumn.One }, { enableScripts: true })); const ready = getMesssage(webview);