Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Chiodo <rchiodo@users.noreply.github.com>2022-07-13 04:03:49 +0300
committerGitHub <noreply@github.com>2022-07-13 04:03:49 +0300
commit052d5b0027f6c9d64c8ca35955cb5117ba94d5d7 (patch)
tree48ef3f15d2c89771321d9d5e6f47549d174ebd55 /extensions
parentf64912465fa76c2c1d4f8cbe0152864c2194c281 (diff)
Fix issue with kernel preselection being overridden by view state (#154968)
* Fix view state overriding selected kernel * Add test to verify correct kernel is used
Diffstat (limited to 'extensions')
-rw-r--r--extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts24
1 files changed, 22 insertions, 2 deletions
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts
index 0f85b437235..89535dc5531 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts
@@ -17,7 +17,7 @@ async function createInteractiveWindow(kernel: Kernel) {
// Keep focus on the owning file if there is one
{ viewColumn: vscode.ViewColumn.Beside, preserveFocus: false },
undefined,
- kernel.controller.id,
+ `vscode.vscode-api-tests/${kernel.controller.id}`,
undefined
)) as unknown as INativeInteractiveWindow;
@@ -45,11 +45,13 @@ async function addCellAndRun(code: string, notebook: vscode.NotebookDocument, i:
const testDisposables: vscode.Disposable[] = [];
let defaultKernel: Kernel;
+ let secondKernel: Kernel;
setup(async function () {
- // there should be ONE default kernel in this suite
defaultKernel = new Kernel('mainKernel', 'Notebook Default Kernel', 'interactive');
+ secondKernel = new Kernel('secondKernel', 'Notebook Secondary Kernel', 'interactive');
testDisposables.push(defaultKernel.controller);
+ testDisposables.push(secondKernel.controller);
await saveAllFilesAndCloseAll();
});
@@ -85,4 +87,22 @@ async function addCellAndRun(code: string, notebook: vscode.NotebookDocument, i:
assert.strictEqual(notebookEditor.visibleRanges[notebookEditor.visibleRanges.length - 1].end, notebookEditor.notebook.cellCount, `Last cell is not visible`);
});
+
+ test('Interactive window has the correct kernel', async () => {
+ assert.ok(vscode.workspace.workspaceFolders);
+ const notebookEditor = await createInteractiveWindow(defaultKernel);
+ assert.ok(notebookEditor);
+
+ await vscode.commands.executeCommand('workbench.action.closeActiveEditor');
+
+ // Create a new interactive window with a different kernel
+ const notebookEditor2 = await createInteractiveWindow(secondKernel);
+ assert.ok(notebookEditor2);
+
+ // Verify the kernel is the secondary one
+ await addCellAndRun(`print`, notebookEditor2.notebook, 0);
+
+ assert.strictEqual(secondKernel.associatedNotebooks.has(notebookEditor2.notebook.uri.toString()), true, `Secondary kernel was not set as the kernel for the interactive window`);
+
+ });
});