From 896c26bdb3b2f8baf10fe8ad15c16ecfaa4f77a0 Mon Sep 17 00:00:00 2001 From: rebornix Date: Mon, 7 Jun 2021 16:06:44 -0700 Subject: [PATCH] Move editor tests to notebook.editor --- .../notebook.editor.test.ts | 49 +++++++++++++ .../src/singlefolder-tests/notebook.test.ts | 71 ------------------- 2 files changed, 49 insertions(+), 71 deletions(-) diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts index c4b290e984b..646f6214f98 100644 --- a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts +++ b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.editor.test.ts @@ -21,6 +21,7 @@ suite('Notebook Editor', function () { }; const disposables: vscode.Disposable[] = []; + const testDisposables: vscode.Disposable[] = []; suiteTeardown(async function () { utils.assertNoRpc(); @@ -38,6 +39,10 @@ suite('Notebook Editor', function () { disposables.push(vscode.workspace.registerNotebookSerializer('notebook.nbdtest', contentSerializer)); }); + teardown(async function () { + utils.disposeAll(testDisposables); + testDisposables.length = 0; + }); test('showNotebookDocment', async function () { @@ -74,4 +79,48 @@ suite('Notebook Editor', function () { assert.ok(await openedEditor); assert.strictEqual(editor.document.uri.toString(), resource.toString()); }); + + test('Active/Visible Editor', async function () { + const firstEditorOpen = utils.asPromise(vscode.window.onDidChangeActiveNotebookEditor); + const resource = await utils.createRandomFile(undefined, undefined, '.nbdtest'); + const firstEditor = await vscode.window.showNotebookDocument(resource); + await firstEditorOpen; + assert.strictEqual(vscode.window.activeNotebookEditor, firstEditor); + assert.strictEqual(vscode.window.visibleNotebookEditors.includes(firstEditor), true); + + const secondEditor = await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Beside }); + assert.strictEqual(secondEditor === vscode.window.activeNotebookEditor, true); + assert.notStrictEqual(firstEditor, secondEditor); + assert.strictEqual(vscode.window.visibleNotebookEditors.includes(secondEditor), true); + assert.strictEqual(vscode.window.visibleNotebookEditors.includes(firstEditor), true); + assert.strictEqual(vscode.window.visibleNotebookEditors.length, 2); + }); + + test('Notebook Editor Event - onDidChangeVisibleNotebookEditors on open/close', async function () { + const openedEditor = utils.asPromise(vscode.window.onDidChangeVisibleNotebookEditors); + const resource = await utils.createRandomFile(undefined, undefined, '.nbdtest'); + await vscode.window.showNotebookDocument(resource); + assert.ok(await openedEditor); + + const firstEditorClose = utils.asPromise(vscode.window.onDidChangeVisibleNotebookEditors); + await utils.closeAllEditors(); + await firstEditorClose; + }); + + test('Notebook Editor Event - onDidChangeVisibleNotebookEditors on two editor groups', async function () { + const resource = await utils.createRandomFile(undefined, undefined, '.nbdtest'); + let count = 0; + testDisposables.push(vscode.window.onDidChangeVisibleNotebookEditors(() => { + count = vscode.window.visibleNotebookEditors.length; + })); + + await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Active }); + assert.strictEqual(count, 1); + + await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Beside }); + assert.strictEqual(count, 2); + + await utils.closeAllEditors(); + assert.strictEqual(count, 0); + }); }); diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.test.ts index aa88d0117c4..6e7342635aa 100644 --- a/extensions/vscode-api-tests/src/singlefolder-tests/notebook.test.ts +++ b/extensions/vscode-api-tests/src/singlefolder-tests/notebook.test.ts @@ -204,35 +204,6 @@ suite('Notebook API tests', function () { await saveAllFilesAndCloseAll(); }); - test('editor onDidChangeVisibleNotebookEditors-event', async function () { - const resource = await createRandomNotebookFile(); - const firstEditorOpen = asPromise(vscode.window.onDidChangeVisibleNotebookEditors); - await vscode.window.showNotebookDocument(resource); - await firstEditorOpen; - - const firstEditorClose = asPromise(vscode.window.onDidChangeVisibleNotebookEditors); - await closeAllEditors(); - await firstEditorClose; - }); - - test('editor onDidChangeVisibleNotebookEditors-event 2', async function () { - const resource = await createRandomNotebookFile(); - let count = 0; - const disposables: vscode.Disposable[] = []; - disposables.push(vscode.window.onDidChangeVisibleNotebookEditors(() => { - count = vscode.window.visibleNotebookEditors.length; - })); - - await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Active }); - assert.strictEqual(count, 1); - - await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Beside }); - assert.strictEqual(count, 2); - - await closeAllEditors(); - assert.strictEqual(count, 0); - }); - test('correct cell selection on undo/redo of cell creation', async function () { const notebook = await openRandomNotebookDocument(); await vscode.window.showNotebookDocument(notebook); @@ -328,48 +299,6 @@ suite('Notebook API tests', function () { assert.strictEqual(firstEditor?.document.cellCount, 2); }); - test('notebook editor active/visible', async function () { - const resource = await createRandomNotebookFile(); - const firstEditor = await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Active }); - assert.strictEqual(firstEditor === vscode.window.activeNotebookEditor, true); - assert.strictEqual(vscode.window.visibleNotebookEditors.includes(firstEditor), true); - - const secondEditor = await vscode.window.showNotebookDocument(resource, { viewColumn: vscode.ViewColumn.Beside }); - assert.strictEqual(secondEditor === vscode.window.activeNotebookEditor, true); - - assert.notStrictEqual(firstEditor, secondEditor); - assert.strictEqual(vscode.window.visibleNotebookEditors.includes(secondEditor), true); - assert.strictEqual(vscode.window.visibleNotebookEditors.includes(firstEditor), true); - assert.strictEqual(vscode.window.visibleNotebookEditors.length, 2); - - const untitledEditorChange = asPromise(vscode.window.onDidChangeActiveNotebookEditor); - await vscode.commands.executeCommand('workbench.action.files.newUntitledFile'); - await untitledEditorChange; - assert.strictEqual(firstEditor && vscode.window.visibleNotebookEditors.indexOf(firstEditor) >= 0, true); - assert.notStrictEqual(firstEditor, vscode.window.activeNotebookEditor); - assert.strictEqual(secondEditor && vscode.window.visibleNotebookEditors.indexOf(secondEditor) < 0, true); - assert.notStrictEqual(secondEditor, vscode.window.activeNotebookEditor); - assert.strictEqual(vscode.window.visibleNotebookEditors.length, 1); - - const activeEditorClose = asPromise(vscode.window.onDidChangeActiveNotebookEditor); - await vscode.commands.executeCommand('workbench.action.closeActiveEditor'); - await activeEditorClose; - assert.strictEqual(secondEditor, vscode.window.activeNotebookEditor); - assert.strictEqual(vscode.window.visibleNotebookEditors.length, 2); - assert.strictEqual(secondEditor && vscode.window.visibleNotebookEditors.indexOf(secondEditor) >= 0, true); - }); - - test('notebook active editor change', async function () { - const firstEditorOpen = asPromise(vscode.window.onDidChangeActiveNotebookEditor); - const notebook = await openRandomNotebookDocument(); - await vscode.window.showNotebookDocument(notebook); - await firstEditorOpen; - - const firstEditorDeactivate = asPromise(vscode.window.onDidChangeActiveNotebookEditor); - await vscode.commands.executeCommand('workbench.action.splitEditor'); - await firstEditorDeactivate; - }); - test('edit API batch edits', async function () { const resource = await createRandomNotebookFile(); await vscode.commands.executeCommand('vscode.openWith', resource, 'notebookCoreTest');