From eac45765fd3a254e6df4451b59a7a5a7e36f00c2 Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Thu, 14 Jun 2018 18:52:47 -0500 Subject: [PATCH] Update usage of IAsyncLifetime.DisposeAsync to pair with InitializeAsync --- .../AbstractIntegrationTest.cs | 23 +++++++++++-------- .../CSharp/CSharpInteractiveBoxSelection.cs | 15 +++--------- .../CSharp/CSharpReplIdeFeatures.cs | 21 +++++------------ 3 files changed, 23 insertions(+), 36 deletions(-) diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs index ed4664d8fee..0f8b797ba6d 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/AbstractIntegrationTest.cs @@ -61,8 +61,14 @@ public virtual async Task InitializeAsync() } } - public Task DisposeAsync() + /// + /// This method implements , and is used for releasing resources + /// created by . This method is only called if + /// completes successfully. + /// + public virtual Task DisposeAsync() { + _visualStudioContext.Dispose(); return Task.CompletedTask; } @@ -81,18 +87,17 @@ protected void Wait(double seconds) Thread.Sleep(timeout); } + /// + /// This method provides the implementation for . This method via the + /// interface (i.e. is ) if the + /// constructor completes successfully. The may or may not have completed + /// successfully. + /// protected virtual void Dispose(bool disposing) { if (disposing) { - try - { - _visualStudioContext?.Dispose(); - } - finally - { - _messageFilter.Dispose(); - } + _messageFilter.Dispose(); } } diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveBoxSelection.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveBoxSelection.cs index eb0e0a183e2..7a804486527 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveBoxSelection.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpInteractiveBoxSelection.cs @@ -22,19 +22,10 @@ public override async Task InitializeAsync() VisualStudio.InteractiveWindow.SubmitText("#cls"); } - protected override void Dispose(bool disposing) + public override Task DisposeAsync() { - try - { - if (disposing && VisualStudio != null) - { - VisualStudio.ExecuteCommand(WellKnownCommandNames.Edit_SelectionCancel); - } - } - finally - { - base.Dispose(disposing); - } + VisualStudio.ExecuteCommand(WellKnownCommandNames.Edit_SelectionCancel); + return base.DisposeAsync(); } [WpfFact] diff --git a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs index f24c7a62f52..0d205b9c08b 100644 --- a/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs +++ b/src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpReplIdeFeatures.cs @@ -22,21 +22,12 @@ public override async Task InitializeAsync() VisualStudio.Workspace.SetUseSuggestionMode(true); } - protected override void Dispose(bool disposing) - { - try - { - if (disposing && VisualStudio != null) - { - VisualStudio.Workspace.SetUseSuggestionMode(false); - VisualStudio.InteractiveWindow.ClearReplText(); - VisualStudio.InteractiveWindow.Reset(); - } - } - finally - { - base.Dispose(disposing); - } + public override Task DisposeAsync() + { + VisualStudio.Workspace.SetUseSuggestionMode(false); + VisualStudio.InteractiveWindow.ClearReplText(); + VisualStudio.InteractiveWindow.Reset(); + return base.DisposeAsync(); } [WpfFact] -- GitLab