提交 1c52e58b 编写于 作者: S Sam Harwell

Additional diagnostics for CommitOnSave failures

上级 b0b68e2b
......@@ -2,13 +2,13 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Test.Utilities;
using Microsoft.VisualStudio.IntegrationTest.Utilities;
using Microsoft.VisualStudio.IntegrationTest.Utilities.Input;
using Roslyn.Test.Utilities;
using Xunit;
using Xunit.Abstractions;
using ProjName = Microsoft.VisualStudio.IntegrationTest.Utilities.Common.ProjectUtils.Project;
namespace Roslyn.VisualStudio.IntegrationTests.VisualBasic
......@@ -92,8 +92,16 @@ End Module
VisualStudio.Editor.SendKeys("x as integer", VirtualKey.Tab);
VisualStudio.Editor.Verify.IsNotSaved();
VisualStudio.Editor.SendKeys(new KeyPress(VirtualKey.S, ShiftState.Ctrl));
VisualStudio.Editor.Verify.IsSaved();
VisualStudio.Editor.Verify.TextContains(@"Sub Main(x As Integer)");
var savedFileName = VisualStudio.Editor.Verify.IsSaved();
try
{
VisualStudio.Editor.Verify.TextContains(@"Sub Main(x As Integer)");
}
catch (Exception e)
{
throw new InvalidOperationException($"Unexpected failure after saving document '{savedFileName}'", e);
}
VisualStudio.ExecuteCommand(WellKnownCommandNames.Edit_Undo);
VisualStudio.Editor.Verify.TextContains(@"Sub Main(x As Integer)");
VisualStudio.Editor.Verify.CaretPosition(45);
......
......@@ -145,9 +145,11 @@ public void VerifyNotSaved()
Contract.ThrowIfTrue(GetDTE().ActiveDocument.ProjectItem.Saved);
}
public void VerifySaved()
public string VerifySaved()
{
Contract.ThrowIfFalse(GetDTE().ActiveDocument.ProjectItem.Saved);
var activeDocument = GetDTE().ActiveDocument;
Contract.ThrowIfFalse(activeDocument.ProjectItem.Saved);
return activeDocument.FullName;
}
public string GetActiveBufferName()
......
......@@ -26,9 +26,9 @@ public void IsNotSaved()
_textViewWindow._editorInProc.VerifyNotSaved();
}
public void IsSaved()
public string IsSaved()
{
_textViewWindow._editorInProc.VerifySaved();
return _textViewWindow._editorInProc.VerifySaved();
}
public void CurrentLineText(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册