From 9816f821db58492f8220ff45d8b126d1920d2f60 Mon Sep 17 00:00:00 2001 From: Ravi Chande Date: Thu, 8 Feb 2018 12:42:26 -0800 Subject: [PATCH 1/4] wait for file addition --- .../hoverProvider.integration.test.ts | 50 +++++++++++-------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/test/integrationTests/hoverProvider.integration.test.ts b/test/integrationTests/hoverProvider.integration.test.ts index 04fdcf3d23..a6b848e959 100644 --- a/test/integrationTests/hoverProvider.integration.test.ts +++ b/test/integrationTests/hoverProvider.integration.test.ts @@ -12,20 +12,21 @@ import testAssetWorkspace from './testAssets/testAssetWorkspace'; import { RequestQueueCollection } from '../../src/omnisharp/requestQueue'; import { OmniSharpServer } from '../../src/omnisharp/server'; import { omnisharp } from '../../src/omnisharp/extension'; +import { requestWorkspaceInformation } from '../../src/omnisharp/utils'; -const chai = require('chai'); -chai.use(require('chai-arrays')); -chai.use(require('chai-fs')); +const chai = require('chai'); +chai.use(require('chai-arrays')); +chai.use(require('chai-fs')); -suite(`Tasks generation: ${testAssetWorkspace.description}`, function() { - suiteSetup(async function() { +suite(`Tasks generation: ${testAssetWorkspace.description}`, function () { + suiteSetup(async function () { should(); await testAssetWorkspace.cleanupWorkspace(); - let csharpExtension = vscode.extensions.getExtension("ms-vscode.csharp"); - if (!csharpExtension.isActive) { - await csharpExtension.activate(); + let csharpExtension = vscode.extensions.getExtension("ms-vscode.csharp"); + if (!csharpExtension.isActive) { + await csharpExtension.activate(); } await csharpExtension.exports.initializationFinished; @@ -34,13 +35,13 @@ suite(`Tasks generation: ${testAssetWorkspace.description}`, function() { await vscode.commands.executeCommand("dotnet.generateAssets"); await poll(async () => await fs.exists(testAssetWorkspace.launchJsonPath), 10000, 100); - - }); - test("Hover returns structured documentation with proper newlines", async function () { + }); + + test("Hover returns structured documentation with proper newlines", async function () { - let program = -`using System; + let program = + `using System; namespace Test { class testissue @@ -56,16 +57,23 @@ namespace Test } } }`; - let fileUri = await testAssetWorkspace.projects[0].addFileWithContents("test1.cs", program); + let fileUri = await testAssetWorkspace.projects[0].addFileWithContents("test1.cs", program); - await omnisharp.waitForEmptyEventQueue(); + await vscode.commands.executeCommand("vscode.open", fileUri); - await vscode.commands.executeCommand("vscode.open", fileUri); + // Wait for the file to appear in the O# Workspace + while (true) { + let info = await requestWorkspaceInformation(omnisharp); + if (info.MsBuild.Projects[0].SourceFiles.find(s => s.endsWith("test1.cs"))) { + break; + } + await new Promise(resolve => setTimeout(resolve, 500)); + } - let c = await vscode.commands.executeCommand("vscode.executeHoverProvider", fileUri,new vscode.Position(10,29)); + let c = await vscode.commands.executeCommand("vscode.executeHoverProvider", fileUri, new vscode.Position(10, 29)); - let answer:string = -`Checks if object is tagged with the tag. + let answer: string = + `Checks if object is tagged with the tag. Parameters: @@ -73,9 +81,9 @@ Parameters: \t\ttagName: Name of the tag. Returns true if object is tagged with tag.`; - expect(c[0].contents[0].value).to.equal(answer); + expect(c[0].contents[0].value).to.equal(answer); }); - + teardown(async () => { await testAssetWorkspace.cleanupWorkspace(); }); From 1711ac0b2f59aa648d25be8febe8a61500ecb161 Mon Sep 17 00:00:00 2001 From: Ravi Chande Date: Thu, 8 Feb 2018 13:03:30 -0800 Subject: [PATCH 2/4] fix merge issues' --- test/integrationTests/hoverProvider.integration.test.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/integrationTests/hoverProvider.integration.test.ts b/test/integrationTests/hoverProvider.integration.test.ts index 208a5f17bd..9ca08eaced 100644 --- a/test/integrationTests/hoverProvider.integration.test.ts +++ b/test/integrationTests/hoverProvider.integration.test.ts @@ -28,11 +28,8 @@ suite(`Hover Provider: ${testAssetWorkspace.description}`, function() { } await csharpExtension.exports.initializationFinished; - await omnisharp.restart(); }); - }); - test("Hover returns structured documentation with proper newlines", async function () { let program = From 4017db794747d326f9fbb92c696b02fd81742907 Mon Sep 17 00:00:00 2001 From: Ravi Chande Date: Thu, 8 Feb 2018 13:10:23 -0800 Subject: [PATCH 3/4] add log --- test/integrationTests/hoverProvider.integration.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/test/integrationTests/hoverProvider.integration.test.ts b/test/integrationTests/hoverProvider.integration.test.ts index 9ca08eaced..d20111d4de 100644 --- a/test/integrationTests/hoverProvider.integration.test.ts +++ b/test/integrationTests/hoverProvider.integration.test.ts @@ -56,6 +56,7 @@ namespace Test // Wait for the file to appear in the O# Workspace while (true) { let info = await requestWorkspaceInformation(omnisharp); + console.log(info.MsBuild.Projects[0].SourceFiles); if (info.MsBuild.Projects[0].SourceFiles.find(s => s.endsWith("test1.cs"))) { break; } From 7c780268d9bbc18e05d13ea458b5e944ddab1cd9 Mon Sep 17 00:00:00 2001 From: Ravi Chande Date: Thu, 8 Feb 2018 13:17:29 -0800 Subject: [PATCH 4/4] Add more log --- test/integrationTests/hoverProvider.integration.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/integrationTests/hoverProvider.integration.test.ts b/test/integrationTests/hoverProvider.integration.test.ts index d20111d4de..e5c1e37a99 100644 --- a/test/integrationTests/hoverProvider.integration.test.ts +++ b/test/integrationTests/hoverProvider.integration.test.ts @@ -13,6 +13,7 @@ import { RequestQueueCollection } from '../../src/omnisharp/requestQueue'; import { OmniSharpServer } from '../../src/omnisharp/server'; import { omnisharp } from '../../src/omnisharp/extension'; import { requestWorkspaceInformation } from '../../src/omnisharp/utils'; +import { file } from 'tmp'; const chai = require('chai'); chai.use(require('chai-arrays')); @@ -50,7 +51,7 @@ namespace Test } }`; let fileUri = await testAssetWorkspace.projects[0].addFileWithContents("test1.cs", program); - + console.log(fileUri); await vscode.commands.executeCommand("vscode.open", fileUri); // Wait for the file to appear in the O# Workspace