diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs index f95a535f64b758f45e82641fcbe1a7c93490da6a..c35225ae608050bbe8b891ec1ae5b46c4e61f75f 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractEditorTest.cs @@ -68,6 +68,8 @@ protected void SetUpEditor(string markupCode) { MarkupTestFile.GetPosition(markupCode, out string code, out int caretPosition); + VisualStudio.Editor.DismissCompletionSessions(); + var originalValue = VisualStudio.Workspace.IsPrettyListingOn(LanguageName); VisualStudio.Workspace.SetPrettyListing(LanguageName, false); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs index 02b920b85c118d8399515d1175735e67ceb635c3..918c16370b6e602f39d78f4314c6370eb69e11ed 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/InProcess/TextViewWindow_InProc.cs @@ -487,6 +487,13 @@ public void DismissLightBulbSession() broker.DismissSession(view); }); + public void DismissCompletionSessions() + => ExecuteOnActiveView(view => + { + var broker = GetComponentModel().GetService(); + broker.DismissAllSessions(view); + }); + protected abstract bool HasActiveTextView(); protected abstract IWpfTextView GetActiveTextView(); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs index 5fcd85318f8393e94afecd44cb261680e967b816..ddea1064fea7d964b8c9313982eb1d330f3f1434 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/Editor_OutOfProc.cs @@ -14,6 +14,7 @@ using Microsoft.VisualStudio.IntegrationTest.Utilities.InProcess; using Microsoft.VisualStudio.IntegrationTest.Utilities.Input; using UIAutomationClient; +using Xunit; namespace Microsoft.VisualStudio.IntegrationTest.Utilities.OutOfProcess { @@ -233,7 +234,10 @@ public bool IsUseSuggestionModeOn() => _editorInProc.IsUseSuggestionModeOn(); public void SetUseSuggestionMode(bool value) - => _editorInProc.SetUseSuggestionMode(value); + { + Assert.False(IsCompletionActive()); + _editorInProc.SetUseSuggestionMode(value); + } public void WaitForActiveView(string viewName) => _editorInProc.WaitForActiveView(viewName); diff --git a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs index a89f88e20250ba4a06c774b0ee0105f91b9e7bbb..c92bef4aaca6974072e89409de0bbc23a2447426 100644 --- a/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs +++ b/src/VisualStudio/IntegrationTest/TestUtilities/OutOfProcess/TextViewWindow_OutOfProc.cs @@ -77,6 +77,12 @@ public bool IsLightBulbSessionExpanded() public void DismissLightBulbSession() => _textViewWindowInProc.DismissLightBulbSession(); + public void DismissCompletionSessions() + { + WaitForCompletionSet(); + _textViewWindowInProc.DismissCompletionSessions(); + } + public string[] GetLightBulbActions() => _textViewWindowInProc.GetLightBulbActions();