提交 d66dab2a 编写于 作者: J Jason Malinowski

Merge pull request #9492 from jasonmalinowski/add-skeleton-assembly-logging

Add skeleton assembly logging
......@@ -7045,6 +7045,15 @@ internal class CSharpResources {
}
}
/// <summary>
/// Looks up a localized string similar to An error occurred while writing the output file: {0}.
/// </summary>
internal static string ERR_PeWritingFailure {
get {
return ResourceManager.GetString("ERR_PeWritingFailure", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Neither &apos;is&apos; nor &apos;as&apos; is valid on pointer types.
/// </summary>
......
......@@ -4676,6 +4676,6 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<value>Combined length of user strings used by the program exceeds allowed limit. Try to decrease use of string literals.</value>
</data>
<data name="ERR_PeWritingFailure" xml:space="preserve">
<value>An error occurred while writing the output file.</value>
<value>An error occurred while writing the output file: {0}</value>
</data>
</root>
......@@ -16,6 +16,9 @@ public partial class InternalsVisibleToAndStrongNameTests : CSharpTestBase
private class StrongNameProviderWithBadInputStream : StrongNameProvider
{
private StrongNameProvider _underlyingProvider;
public Exception ThrownException;
public StrongNameProviderWithBadInputStream(StrongNameProvider underlyingProvider)
{
_underlyingProvider = underlyingProvider;
......@@ -27,7 +30,8 @@ public StrongNameProviderWithBadInputStream(StrongNameProvider underlyingProvide
internal override Stream CreateInputStream()
{
throw new IOException("This is a test IOException");
ThrownException = new IOException("This is a test IOException");
throw ThrownException;
}
internal override StrongNameKeys CreateKeys(string keyFilePath, string keyContainerName, CommonMessageProvider messageProvider) =>
......@@ -53,9 +57,9 @@ class C
var comp = CreateCompilationWithMscorlib(src,
options: options);
comp.VerifyEmitDiagnostics(
comp.Emit(new MemoryStream()).Diagnostics.Verify(
// error CS8104: An error occurred while writing the Portable Executable file.
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments("This is a test IOException").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments(testProvider.ThrownException.ToString()).WithLocation(1, 1));
}
}
}
......@@ -2701,13 +2701,13 @@ public void BrokenOutStream()
var result = compilation.Emit(output);
result.Diagnostics.Verify(
// error CS8104: An error occurred while writing the Portable Executable file.
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments("I/O error occurred.").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments(output.ThrownException.ToString()).WithLocation(1, 1));
output.BreakHow = 1;
output.BreakHow = BrokenStream.BreakHowType.ThrowOnSetPosition;
result = compilation.Emit(output);
result.Diagnostics.Verify(
// error CS8104: An error occurred while writing the Portable Executable file.
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments("Specified method is not supported.").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments(output.ThrownException.ToString()).WithLocation(1, 1));
// disposed stream is not writable
var outReal = new MemoryStream();
......@@ -2723,7 +2723,7 @@ public void BrokenPDBStream()
var output = new MemoryStream();
var pdb = new BrokenStream();
pdb.BreakHow = 2;
pdb.BreakHow = BrokenStream.BreakHowType.ThrowOnSetLength;
var result = compilation.Emit(output, pdb);
// error CS0041: Unexpected error writing debug information -- 'Exception from HRESULT: 0x806D0004'
......@@ -2969,12 +2969,12 @@ public static void Main()
}";
var compilation = CreateCompilationWithMscorlib(source);
var broken = new BrokenStream();
broken.BreakHow = 0;
broken.BreakHow = BrokenStream.BreakHowType.ThrowOnWrite;
var result = compilation.Emit(broken);
Assert.False(result.Success);
result.Diagnostics.Verify(
// error CS8104: An error occurred while writing the Portable Executable file.
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments("I/O error occurred.").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_PeWritingFailure).WithArguments(broken.ThrownException.ToString()).WithLocation(1, 1));
}
}
}
......@@ -1908,7 +1908,7 @@ private static EmitResult ToEmitResultAndFree(DiagnosticBag diagnostics, bool su
}
catch (Cci.PeWritingException e)
{
diagnostics.Add(MessageProvider.CreateDiagnostic(MessageProvider.ERR_PeWritingFailure, Location.None, e.Message));
diagnostics.Add(MessageProvider.CreateDiagnostic(MessageProvider.ERR_PeWritingFailure, Location.None, e.InnerException.ToString()));
return false;
}
catch (ResourceException e)
......
......@@ -9009,6 +9009,15 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Get
End Property
'''<summary>
''' Looks up a localized string similar to An error occurred while writing the output file: {0}.
'''</summary>
Friend ReadOnly Property ERR_PeWritingFailure() As String
Get
Return ResourceManager.GetString("ERR_PeWritingFailure", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Cannot embed interop types from assembly &apos;{0}&apos; because it is missing the &apos;{1}&apos; attribute..
'''</summary>
......
......@@ -5348,6 +5348,6 @@
<value>Combined length of user strings used by the program exceeds allowed limit. Try to decrease use of string or XML literals.</value>
</data>
<data name="ERR_PeWritingFailure" xml:space="preserve">
<value>An error occurred while writing the output file.</value>
<value>An error occurred while writing the output file: {0}</value>
</data>
</root>
......@@ -11,6 +11,8 @@ Partial Public Class InternalsVisibleToAndStrongNameTests
Private Class StrongNameProviderWithBadInputStream
Inherits StrongNameProvider
Private _underlyingProvider As StrongNameProvider
Public Property ThrownException As Exception
Public Sub New(underlyingProvider As StrongNameProvider)
_underlyingProvider = underlyingProvider
End Sub
......@@ -25,7 +27,8 @@ Partial Public Class InternalsVisibleToAndStrongNameTests
End Function
Friend Overrides Function CreateInputStream() As Stream
Throw New IOException("This is a test IOException")
ThrownException = New IOException("This is a test IOException")
Throw ThrownException
End Function
Friend Overrides Function CreateKeys(keyFilePath As String, keyContainerName As String, messageProvider As CommonMessageProvider) As StrongNameKeys
......@@ -53,8 +56,8 @@ End Class
</file>
</compilation>, options:=options)
comp.VerifyEmitDiagnostics(
Diagnostic(ERRID.ERR_PeWritingFailure).WithArguments("This is a test IOException").WithLocation(1, 1))
comp.Emit(New MemoryStream()).Diagnostics.Verify(
Diagnostic(ERRID.ERR_PeWritingFailure).WithArguments(testProvider.ThrownException.ToString()).WithLocation(1, 1))
End Sub
......
......@@ -2939,14 +2939,14 @@ End Module
Dim emitResult As EmitResult
Using output = New BrokenStream()
output.BreakHow = 0
output.BreakHow = BrokenStream.BreakHowType.ThrowOnWrite
emitResult = compilation.Emit(output, Nothing, Nothing, Nothing)
End Using
CompilationUtils.AssertTheseDiagnostics(emitResult.Diagnostics,
CompilationUtils.AssertTheseDiagnostics(emitResult.Diagnostics,
<expected>
BC37256: An error occurred while writing the output file.
BC37256: An error occurred while writing the output file: <%= output.ThrownException.ToString() %>
</expected>)
End Using
End Sub
End Class
End Namespace
......@@ -3,11 +3,18 @@
Imports System.Threading.Tasks
Imports Microsoft.CodeAnalysis.CodeFixes
Imports Microsoft.CodeAnalysis.Diagnostics
Imports Xunit.Abstractions
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Diagnostics.GenerateMethod
Partial Public Class GenerateMethodCrossLanguageTests
Inherits AbstractCrossLanguageUserDiagnosticTest
Private ReadOnly _outputHelper As ITestOutputHelper
Public Sub New(outputHelper As ITestOutputHelper)
_outputHelper = outputHelper
End Sub
Friend Overrides Function CreateDiagnosticProviderAndFixer(workspace As Workspace, language As String) As Tuple(Of DiagnosticAnalyzer, CodeFixProvider)
If language = LanguageNames.CSharp Then
Return Tuple.Create(Of DiagnosticAnalyzer, CodeFixProvider)(
......@@ -56,7 +63,7 @@ public class VBClass
end class
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -93,7 +100,7 @@ public class VBClass
end class
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -135,7 +142,7 @@ public class VBClass
end class
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -169,7 +176,7 @@ end class
end interface
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -211,7 +218,7 @@ end class
end class
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -286,7 +293,7 @@ end class
}
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -327,7 +334,7 @@ end class
end class
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -368,7 +375,7 @@ end class
end class
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -413,7 +420,7 @@ end class
}
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateMethod)>
......@@ -458,7 +465,7 @@ end class
}]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -513,7 +520,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -583,7 +590,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -653,7 +660,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -733,7 +740,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
Public Async Function GenerateMethodUsingTypeConstraint_3BaseTypeConstraints_CommonDerived() As Task
......@@ -821,7 +828,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -906,7 +913,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -998,7 +1005,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
<WorkItem(608827, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/608827")>
......@@ -1071,7 +1078,7 @@ Module Program
End Module]]>
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
#Region "Normal tests"
......
......@@ -4,11 +4,18 @@ Imports System.Threading.Tasks
Imports Microsoft.CodeAnalysis.CodeActions
Imports Microsoft.CodeAnalysis.CodeFixes
Imports Microsoft.CodeAnalysis.Diagnostics
Imports Xunit.Abstractions
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Diagnostics.GenerateVariable
Partial Public Class GenerateVariableCrossLanguageTests
Inherits AbstractCrossLanguageUserDiagnosticTest
Private ReadOnly _outputHelper As ITestOutputHelper
Public Sub New(outputHelper As ITestOutputHelper)
_outputHelper = outputHelper
End Sub
Friend Overrides Function CreateDiagnosticProviderAndFixer(workspace As Workspace, language As String) As Tuple(Of DiagnosticAnalyzer, CodeFixProvider)
If language = LanguageNames.CSharp Then
Return Tuple.Create(Of DiagnosticAnalyzer, CodeFixProvider)(
......@@ -57,7 +64,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Diagnostics.GenerateVariable
}
</text>.Value.Trim()
Await TestAsync(input, expected)
Await TestAsync(input, expected, onAfterWorkspaceCreated:=Sub(w) w.SetTestLogger(AddressOf _outputHelper.WriteLine))
End Function
End Class
End Namespace
......@@ -7,12 +7,21 @@ Imports Microsoft.CodeAnalysis
Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces
Imports Microsoft.CodeAnalysis.FindSymbols
Imports Roslyn.Utilities
Imports Xunit.Abstractions
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.FindReferences
Partial Public Class FindReferencesTests
Private ReadOnly _outputHelper As ITestOutputHelper
Public Sub New(outputHelper As ITestOutputHelper)
_outputHelper = outputHelper
End Sub
Private Async Function TestAsync(definition As XElement, Optional searchSingleFileOnly As Boolean = False, Optional uiVisibleOnly As Boolean = False) As Task
Using workspace = Await TestWorkspace.CreateAsync(definition)
workspace.SetTestLogger(AddressOf _outputHelper.WriteLine)
For Each cursorDocument In workspace.Documents.Where(Function(d) d.CursorPosition.HasValue)
Dim cursorPosition = cursorDocument.CursorPosition.Value
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Imports Xunit.Abstractions
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class AliasTests
Private ReadOnly _outputHelper As ITestOutputHelper
Sub New(outputHelper As ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WorkItem(543759, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543759")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameNamespaceAlias()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -27,7 +34,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameNamespaceAndAlias()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -48,7 +55,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameNamespaceButNotDifferentlyNamedAlias()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -70,7 +77,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameConstructedTypeAliasFromUse()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -94,7 +101,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameConstructedTypeAliasFromDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -116,7 +123,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameConstructedTypeAliasFromDeclaration2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -138,7 +145,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameSimpleTypeAliasFromUse()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -160,7 +167,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameSimpleTypeAliasFromDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -182,7 +189,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameSimpleSpecialTypeAliasVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -204,7 +211,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameSimpleSpecialTypeDoubleAliasVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -227,7 +234,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameSimpleTypeAliasVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -249,7 +256,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameAliasNoConflict()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -282,7 +289,7 @@ public class C3
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameAliasToSameNameNoConflict()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -310,7 +317,7 @@ public class C3
<WorkItem(586743, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/586743")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameOneDuplicateAliasToNoConflict()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -339,7 +346,7 @@ public class C3
<WorkItem(542693, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542693")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameOuterAliasWithNestedAlias()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -365,7 +372,7 @@ namespace N
<WorkItem(10028, "DevDiv_Projects/Roslyn")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameConflictWithAlias()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -395,7 +402,7 @@ class C1
<WorkItem(579200, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/579200")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug579200_RenameNestedAliasTarget()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -423,7 +430,7 @@ namespace N
<WorkItem(579214, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/579214")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug579214_RenameAttributeNamedDynamic()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -440,7 +447,7 @@ class C : [|$$dynamic|]::Object { }
<WorkItem(629695, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/629695")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug629695_DetectConflictWithAliasInSameBlockCompUnit()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -485,7 +492,7 @@ class Program
<WorkItem(629695, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/629695")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug629695_DetectConflictWithAliasInSameBlockNSDecl()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -533,7 +540,7 @@ namespace X
<WorkItem(629695, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/629695")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug629695_DetectConflictWithAliasInSameBlockWithEscaping()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -581,7 +588,7 @@ namespace X
<WorkItem(603365, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/603365"), WorkItem(745833, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/745833")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug603365_RenameAliasToClassNameOnlyFixesAliasUsages_1()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -609,7 +616,7 @@ namespace N
<WorkItem(603365, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/603365")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub Bug603365_RenameAliasToClassNameOnlyFixesAliasUsages_2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -639,7 +646,7 @@ namespace N
<WorkItem(632303, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/632303")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameAliasToAttributeAndEndingWithAttributeAttribute()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -674,7 +681,7 @@ class Program
<WorkItem(632303, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/632303")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameAliasToAttributeAndEndingWithAttributeAttributeWithResolvedConflict()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -711,7 +718,7 @@ class Program
<WorkItem(529531, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/529531")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameAliasToNullableWithResolvedConflict()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......
......@@ -2,14 +2,20 @@
Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class DeclarationConflictTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WpfFact(Skip:="917043")>
<WorkItem(917043, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/917043")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictForDelegate()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -31,7 +37,7 @@ class C
<WorkItem(917043, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/917043")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictForIsolatedScopes()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -55,7 +61,7 @@ class C
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenFields()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -75,7 +81,7 @@ class Foo
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenFieldAndMethodDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -95,7 +101,7 @@ class Foo
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenPropertyAndFieldDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -115,7 +121,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenMethodDeclarations()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -135,7 +141,7 @@ class Foo
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenParameterDeclarations()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -154,7 +160,7 @@ class Foo
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictBetweenMethodsOfDifferentSignature()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -173,7 +179,7 @@ class Foo
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenMemberDeclarationsWithOutOrRefDifferenceOnly()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -193,7 +199,7 @@ class Foo
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictBetweenMethodsDifferingByArity()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -213,7 +219,7 @@ class Foo
<WorkItem(546429, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546429")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictWithNamespaceDefinedInMetadata()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -228,7 +234,7 @@ namespace [|$$Foo|] { }
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictWithEquallyNamedNamespaces()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -245,7 +251,7 @@ namespace N1 { }
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_ConflictInFieldInitializerOfFieldAndModuleNameResolvedThroughFullQualification()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -276,7 +282,7 @@ class [|$$C|]
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_NoConflictBetweenLambdaParameterAndField()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -296,7 +302,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_ConflictBetweenTypeParametersInTypeDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -317,7 +323,7 @@ class Program<{|declconflict:A|}, [|$$B|]>
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_ConflictBetweenTypeParametersInMethodDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -340,7 +346,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_ConflictBetweenTypeParametersInMethodDeclaration_2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -363,7 +369,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_ConflictBetweenTypeParameterAndMember_1()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -386,7 +392,7 @@ class Program<{|declconflict:@a|}>
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_ConflictBetweenTypeParameterAndMember_2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -408,7 +414,7 @@ class Program<{|declconflict:@a|}>
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_OverridingImplicitlyUsedMethod()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -449,7 +455,7 @@ class C : A
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_OverridingImplicitlyUsedMethod_1()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -489,7 +495,7 @@ class C : A
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CS_OverridingImplicitlyUsedMethod_2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -527,7 +533,7 @@ class C : A
<WorkItem(851604, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/851604")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictInsideAttributeArgument()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -550,7 +556,7 @@ class C
<WorkItem(6306, "https://github.com/dotnet/roslyn/issues/6306")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ResolveConflictInAnonymousTypeProperty()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -574,7 +580,7 @@ class C
<WorkItem(6308, "https://github.com/dotnet/roslyn/issues/6308")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ResolveConflictWhenAnonymousTypeIsUsedAsGenericArgument()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......
......@@ -4,10 +4,16 @@ Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class EscapingTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub EscapeWhenRenamingToEscapedKeyword1()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -25,7 +31,7 @@ class [|$$Foo|]
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub EscapeWhenRenamingToEscapedKeyword2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -44,7 +50,7 @@ class {|escaped:$$Foo|}
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub UseFullAttributeNameWhenShortNameIsKeyword()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -70,7 +76,7 @@ class [|$$MainAttribute|] : System.Attribute
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub EscapeAttributeIfKeyword()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -97,7 +103,7 @@ class {|escaped:$$MainAttribute|} : System.Attribute
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub DoNotStickTokensTogetherForRefParameter_1()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -117,7 +123,7 @@ class {|escaped:$$MainAttribute|} : System.Attribute
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub DoNotStickTokensTogetherForRefParameter_2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -136,7 +142,7 @@ class {|escaped:$$MainAttribute|} : System.Attribute
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameEscapedIdentifierUnescapes()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -157,7 +163,7 @@ class {|escaped:$$MainAttribute|} : System.Attribute
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameEscapedIdentifierUnescapes_2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -179,7 +185,7 @@ class {|escaped:$$MainAttribute|} : System.Attribute
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameEscapedIdentifierUnescapes_3()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......
......@@ -2,10 +2,16 @@
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class GenericTypeParameterTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WorkItem(403671, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/403671")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CustomerReported_ErrorTolerance()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......
......@@ -5,10 +5,16 @@ Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class ImplicitReferenceConflictTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WorkItem(528966, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/528966")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameMoveNextCausesConflictInForEach()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -46,7 +52,7 @@ class C
<WorkItem(528966, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/528966")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameMoveNextInVBCausesConflictInForEach()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" AssemblyName="Project1" CommonReferences="true">
......@@ -93,7 +99,7 @@ class D
<WorkItem(528966, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/528966")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameMoveNextInVBToUpperCaseOnlyCausesConflictInCSForEach()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" AssemblyName="Project1" CommonReferences="true">
......
......@@ -2,10 +2,16 @@
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class InteractiveTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenamingTopLevelMethodsSupported()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Submission Language="C#" CommonReferences="true">
void [|$$Foo|]()
......
......@@ -2,10 +2,16 @@
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class InterfaceTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WorkItem(546205, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546205")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameExplicitlyImplementedInterfaceMemberFromDefinition()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -28,7 +34,7 @@ class C : I
<WorkItem(546205, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546205")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameExplicitlyImplementedInterfaceMemberFromImplementation()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -51,7 +57,7 @@ class C : I
<WorkItem(546205, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546205")>
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameExplicitlyImplementedInterfaceMemberWithInterfaceInNamespace()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -76,7 +82,7 @@ class C : N.I
<Fact, Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameInterfaceForExplicitlyImplementedInterfaceMemberWithInterfaceInNamespace()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......
......@@ -4,11 +4,17 @@ Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.CSharp
Public Class LocalConflictTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(539939, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539939")>
Public Sub ConflictingLocalWithLocal()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -33,7 +39,7 @@ class Program
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(539939, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539939")>
Public Sub ConflictingLocalWithParameter()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -56,7 +62,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictingLocalWithForEachRangeVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -81,7 +87,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictingLocalWithForLoopVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -106,7 +112,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictingLocalWithUsingBlockVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -131,7 +137,7 @@ class Program : IDisposable
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictingLocalWithSimpleLambdaParameter()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -157,7 +163,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictingLocalWithParenthesizedLambdaParameter()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document><![CDATA[
......@@ -183,7 +189,7 @@ class Program
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictingFromClauseWithLetClause()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -215,7 +221,7 @@ class C
<WorkItem(543407, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543407")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenLabelsInSameMethod()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document FilePath="Test.cs">
......@@ -243,7 +249,7 @@ public class C
<WorkItem(543407, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543407")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenLabelInMethodAndLambda()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document FilePath="Test.cs">
......@@ -271,7 +277,7 @@ public class C
<WorkItem(543407, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543407")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub ConflictBetweenLabelsInLambda()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document FilePath="Test.cs">
......@@ -298,7 +304,7 @@ public class C
<WorkItem(543407, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/543407")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub NoConflictBetweenLabelsInTwoNonNestedLambdas()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document FilePath="Test.cs">
......@@ -324,7 +330,7 @@ public class C
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(545468, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545468")>
Public Sub NoConflictsWithCatchBlockWithoutExceptionVariable()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -353,7 +359,7 @@ class Test
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(1081066, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/1081066")>
Public Sub NoConflictsBetweenCatchClauses()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -378,7 +384,7 @@ class Test
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(1081066, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/1081066")>
Public Sub ConflictsWithinCatchClause()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -404,7 +410,7 @@ class Test
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(546163, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546163")>
Public Sub NoConflictsWithCatchExceptionWithoutDeclaration()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -433,7 +439,7 @@ class Test
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(992721, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/992721")>
Public Sub ConflictingLocalWithFieldWithExtensionMethodInvolved()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......
......@@ -16,6 +16,12 @@ Imports Microsoft.VisualStudio.Text
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
Public Class InlineRenameTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WpfFact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Async Function SimpleEditAndCommit() As Task
......@@ -635,7 +641,7 @@ End Class
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameWithInheritenceCascadingWithClass()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......
......@@ -10,6 +10,7 @@ Imports Microsoft.CodeAnalysis.Text
Imports Microsoft.VisualStudio.Text
Imports Xunit.Sdk
Imports Microsoft.CodeAnalysis.Options
Imports Xunit.Abstractions
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
''' <summary>
......@@ -54,8 +55,9 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
_renameTo = renameTo
End Sub
Public Shared Function Create(workspaceXml As XElement, renameTo As String, Optional changedOptionSet As Dictionary(Of OptionKey, Object) = Nothing) As RenameEngineResult
Public Shared Function Create(helper As ITestOutputHelper, workspaceXml As XElement, renameTo As String, Optional changedOptionSet As Dictionary(Of OptionKey, Object) = Nothing) As RenameEngineResult
Dim workspace = TestWorkspace.CreateWorkspace(workspaceXml)
workspace.SetTestLogger(AddressOf helper.WriteLine)
Dim engineResult As RenameEngineResult = Nothing
Try
......@@ -82,16 +84,11 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
Next
End If
AssertIsComplete(workspace.CurrentSolution)
Dim locations = RenameLocations.FindAsync(symbol, workspace.CurrentSolution, optionSet, CancellationToken.None).Result
Dim originalName = symbol.Name.Split("."c).Last()
Dim result = ConflictResolver.ResolveConflictsAsync(locations, originalName, renameTo, optionSet, hasConflict:=Nothing, cancellationToken:=CancellationToken.None).Result
AssertIsComplete(result.OldSolution)
AssertIsComplete(result.NewSolution)
engineResult = New RenameEngineResult(workspace, result, renameTo)
engineResult.AssertUnlabeledSpansRenamedAndHaveNoConflicts()
Catch
......@@ -107,15 +104,6 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
Return engineResult
End Function
Private Shared Sub AssertIsComplete(currentSolution As Solution)
' Ensure we don't have a partial solution. This is to detect for possible root causes of
' https://github.com/dotnet/roslyn/issues/9298
If currentSolution.Projects.Any(Function(p) Not p.HasCompleteReferencesAsync().Result) Then
AssertEx.Fail("We have an incomplete project floating around which we should not.")
End If
End Sub
Friend ReadOnly Property ConflictResolution As ConflictResolution
Get
Return _resolution
......
......@@ -7,11 +7,16 @@ Imports Microsoft.VisualStudio.Text
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
Public Class RenameNonRenameableSymbols
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub CannotRenameInheritedMetadataButRenameCascade()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......@@ -48,7 +53,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenameEventWithInvalidNames()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="C#" CommonReferences="true">
<Document>
......
......@@ -4,12 +4,18 @@ Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.VisualBasic
Public Class CallSiteConflictResolutionTests
<WpfFact(skip:="535068")>
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<WpfFact(Skip:="535068")>
<Trait(Traits.Feature, Traits.Features.Rename)>
<WorkItem(542103, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542103")>
<WorkItem(535068, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/535068")>
Public Sub RewriteConflictingExtensionMethodCallSite()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document><![CDATA[
......@@ -42,7 +48,7 @@ End Module
<WorkItem(542821, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542821")>
<WorkItem(535068, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/535068")>
Public Sub RewriteConflictingExtensionMethodCallSiteRequiringTypeArguments()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document><![CDATA[
......@@ -75,7 +81,7 @@ End Module
<WorkItem(542821, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/542821")>
<WorkItem(535068, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/535068")>
Public Sub RewriteConflictingExtensionMethodCallSiteInferredTypeArguments()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document><![CDATA[
......@@ -107,7 +113,7 @@ End Module
<WorkItem(539636, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/539636")>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub QualifyConflictingMethodInvocation()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document>
......
......@@ -4,10 +4,16 @@ Imports Microsoft.CodeAnalysis.Rename.ConflictEngine
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename.VisualBasic
Public Class InvalidIdentifierTests
Private ReadOnly _outputHelper As Abstractions.ITestOutputHelper
Sub New(outputHelper As Abstractions.ITestOutputHelper)
_outputHelper = outputHelper
End Sub
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenamingToInvalidIdentifier()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document>
......@@ -26,7 +32,7 @@ End Class
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename)>
Public Sub RenamingToInvalidIdentifier2()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document>
......@@ -45,7 +51,7 @@ End Class
<Fact>
<Trait(Traits.Feature, Traits.Features.Rename), WorkItem(545164, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545164")>
Public Sub RenamingToUnderscoreAttribute()
Using result = RenameEngineResult.Create(
Using result = RenameEngineResult.Create(_outputHelper,
<Workspace>
<Project Language="Visual Basic" CommonReferences="true">
<Document><![CDATA[
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册