diff --git a/packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts b/packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts index 3d5175bca8..20bafdef6c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts +++ b/packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts @@ -1,3 +1,4 @@ +import { sleep } from "@cursorless/common"; import { getCursorlessApi, openNewNotebookEditor, @@ -19,6 +20,8 @@ async function runTest() { await openNewNotebookEditor(['"hello"', '"world"']); + await sleep(200); + await hatTokenMap.allocateHats(); await runCursorlessCommand({ diff --git a/packages/vscode-common/src/testUtil/openNewEditor.ts b/packages/vscode-common/src/testUtil/openNewEditor.ts index 7024312027..ff7e82008b 100644 --- a/packages/vscode-common/src/testUtil/openNewEditor.ts +++ b/packages/vscode-common/src/testUtil/openNewEditor.ts @@ -103,14 +103,13 @@ export async function openNewNotebookEditor( return document; } -function waitForEditorToOpen() { +function waitForEditorToOpen(): Promise { return new Promise((resolve, reject) => { let count = 0; const interval = setInterval(() => { if (vscode.window.activeTextEditor != null) { clearInterval(interval); - // Give it a moment to settle - setTimeout(resolve, 100); + resolve(); } else { count++; if (count === 20) {