Skip to content

Commit

Permalink
[browser tests] [typescript] Solidify QuickFix test
Browse files Browse the repository at this point in the history
Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
  • Loading branch information
marcdumais-work committed Feb 17, 2023
1 parent ac5728b commit 50bd41e
Showing 1 changed file with 26 additions and 9 deletions.
35 changes: 26 additions & 9 deletions examples/api-tests/src/typescript.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,6 @@ SPAN {
const editor = await openEditor(demoFileUri);
const currentChar = () => editor.getControl().getModel().getLineContent(lineNumber).charAt(column - 1);

// const demoVariable = demoInstance.stringField; --> const demoVariable = demoInstance.stringFiel;
editor.getControl().getModel().applyEdits([{
range: {
startLineNumber: lineNumber,
Expand All @@ -677,7 +676,7 @@ SPAN {
}]);
editor.getControl().setPosition({ lineNumber, column });
editor.getControl().revealPosition({ lineNumber, column });
assert.equal(currentChar(), ';');
assert.equal(currentChar(), ';', 'Failed at assert 1');

/** @type {import('@theia/monaco-editor-core/src/vs/editor/contrib/codeAction/browser/codeActionCommands').CodeActionController} */
const codeActionController = editor.getControl().getContribution('editor.contrib.codeActionController');
Expand All @@ -691,23 +690,41 @@ SPAN {
return !!node && node.style.visibility !== 'hidden';
};

assert.isFalse(lightBulbVisible());
assert.isFalse(lightBulbVisible(), 'Failed at assert 2');
await waitForAnimation(() => lightBulbVisible());

await commands.executeCommand('editor.action.quickFix');
const codeActionSelector = '.codeActionWidget';
assert.isFalse(!!document.querySelector(codeActionSelector), 'codeActionWidget should not be visible');

await waitForAnimation(() => !!document.querySelector(codeActionSelector), 5000);
assert.isFalse(!!document.querySelector(codeActionSelector), 'Failed at assert 3 - codeActionWidget should not be visible');

console.log('Waiting for Quick Fix widget to be visible');
await waitForAnimation(() => {
const quickFixWidgetVisible = !!document.querySelector(codeActionSelector);
if (!quickFixWidgetVisible) {
console.log('...');
return false;
}
return true;
}, 10000, 'Timed-out waiting for the QuickFix widget to appear');
await animationFrame();

assert.isTrue(lightBulbVisible(), 'Failed at assert 4');
keybindings.dispatchKeyDown('Enter');
console.log('Waiting for confirmation that QuickFix has taken effect');
await waitForAnimation(() => {
const quickFixHasTakenEffect = !lightBulbVisible();
if (!quickFixHasTakenEffect) {
console.log('...');
return false;
}
return true;
}, 5000, 'Quickfix widget has not been dismissed despite attempts to accept suggestion');

await waitForAnimation(() => currentChar() === 'd', 5000);
assert.equal(currentChar(), 'd');
await waitForAnimation(() => currentChar() === 'd', 5000, 'Failed to detect expected selected char: "d"');
assert.equal(currentChar(), 'd', 'Failed at assert 5');

await waitForAnimation(() => !lightBulbVisible());
assert.isFalse(lightBulbVisible());
assert.isFalse(lightBulbVisible(), 'Failed at assert 6');
});

it('editor.action.formatDocument', async function () {
Expand Down

0 comments on commit 50bd41e

Please sign in to comment.