diff --git a/rascal-vscode-extension/src/test/vscode-suite/dsl.test.ts b/rascal-vscode-extension/src/test/vscode-suite/dsl.test.ts index 83c66c498..61cfa60ed 100644 --- a/rascal-vscode-extension/src/test/vscode-suite/dsl.test.ts +++ b/rascal-vscode-extension/src/test/vscode-suite/dsl.test.ts @@ -222,8 +222,7 @@ end it("code lens works", async function() { if (errorRecovery) { this.skip(); } const editor = await ide.openModule(TestWorkspace.picoFile); - const lens = await driver.wait(() => editor.getCodeLens("Rename variables a to b."), Delays.verySlow, "Rename lens should be available"); - await lens!.click(); + await ide.clickCodeLens(editor, "Rename variables a to b.", Delays.verySlow, "Rename lens should be available"); await ide.assertLineBecomes(editor, 9, "b := 2;", "a variable should be changed to b"); }); diff --git a/rascal-vscode-extension/src/test/vscode-suite/repl.test.ts b/rascal-vscode-extension/src/test/vscode-suite/repl.test.ts index 011c95487..461b0f201 100644 --- a/rascal-vscode-extension/src/test/vscode-suite/repl.test.ts +++ b/rascal-vscode-extension/src/test/vscode-suite/repl.test.ts @@ -74,16 +74,7 @@ describe('REPL', function () { it("import module and run in terminal", async () => { const editor = await ide.openModule(TestWorkspace.libCallFile); - driver.wait(async () => { - try { - const lens = await ide.findCodeLens(editor, "Run in new Rascal terminal"); - await lens!.click(); - return true; - } catch (e) { - console.log("codelens clicking failed"); - return false; - } - }, Delays.slow, "Codelens for 'Run in new Rascal terminal'"); + await ide.clickCodeLens(editor, "Run in new Rascal terminal"); const repl = new RascalREPL(bench, driver); await repl.connect(); expect(repl.lastOutput).is.equal("5\nint: 0"); diff --git a/rascal-vscode-extension/src/test/vscode-suite/utils.ts b/rascal-vscode-extension/src/test/vscode-suite/utils.ts index a46aa8c4d..179a80f4d 100644 --- a/rascal-vscode-extension/src/test/vscode-suite/utils.ts +++ b/rascal-vscode-extension/src/test/vscode-suite/utils.ts @@ -29,7 +29,7 @@ import { assert, expect } from "chai"; import { stat, unlink } from "fs/promises"; import * as os from 'os'; import { env } from "process"; -import { BottomBarPanel, By, CodeLens, ContentAssist, EditorView, Key, Locator, TerminalView, TextEditor, VSBrowser, WebDriver, WebElement, WebElementCondition, Workbench, until } from "vscode-extension-tester"; +import { BottomBarPanel, By, ContentAssist, EditorView, Key, Locator, TerminalView, TextEditor, VSBrowser, WebDriver, WebElement, WebElementCondition, Workbench, until } from "vscode-extension-tester"; import path = require("path"); export async function sleep(ms: number) { @@ -428,10 +428,16 @@ export class IDEOperations { } } - - findCodeLens(editor: TextEditor, name: string, timeout = Delays.slow, message = `Cannot find code lens: ${name}`): Promise { - return this.driver.wait(() => ignoreFails(editor.getCodeLens(name)), timeout, message); - + async clickCodeLens(editor: TextEditor, name: string, timeout = Delays.slow, message = `Cannot click code lens: ${name}`): Promise { + await this.driver.wait(async () => { + try { + const lens = await editor.getCodeLens(name); + await lens!.click(); + return true; + } catch (_e) { + return false; + } + }, timeout, message); } statusContains(needle: string): () => Promise {