in src/EditorFeatures/VisualBasicTest/CodeActions/IntroduceVariable/IntroduceVariableTests.vb [1842:2128]
String.Format(FeaturesResources.Introduce_local_constant_for_all_occurrences_of_0, "5")})
Await TestInRegularAndScriptAsync(code, expected)
End Function
<WorkItem(545258, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545258")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestVenusGeneration2() As Task
Dim code =
"
Class C
#ExternalSource (""Goo"", 1)
Sub Goo()
If False Then
Console.WriteLine([|5|])
End If
End Sub
#End ExternalSource
End Class
"
Await TestExactActionSetOfferedAsync(code,
{String.Format(FeaturesResources.Introduce_local_constant_for_0, "5"),
String.Format(FeaturesResources.Introduce_local_constant_for_all_occurrences_of_0, "5")})
End Function
<WorkItem(545258, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545258")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestVenusGeneration3() As Task
Dim code =
"
Class C
Sub Goo()
#ExternalSource (""Goo"", 1)
If False Then
Console.WriteLine([|5|])
End If
#End ExternalSource
End Sub
End Class
"
Dim expected =
"
Class C
Sub Goo()
#ExternalSource (""Goo"", 1)
If False Then
Const {|Rename:V|} As Integer = 5
Console.WriteLine(V)
End If
#End ExternalSource
End Sub
End Class
"
Await TestExactActionSetOfferedAsync(code,
{String.Format(FeaturesResources.Introduce_local_constant_for_0, "5"),
String.Format(FeaturesResources.Introduce_local_constant_for_all_occurrences_of_0, "5")})
Await TestInRegularAndScriptAsync(code, expected)
End Function
<WorkItem(545525, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545525")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestInvocation() As Task
Await TestInRegularAndScriptAsync(
"Option Strict On
Class C
Shared Sub Main()
Dim x = [|New C().Goo()|](0)
End Sub
Function Goo() As Integer()
End Function
End Class",
"Option Strict On
Class C
Shared Sub Main()
Dim {|Rename:v|} As Integer() = New C().Goo()
Dim x = v(0)
End Sub
Function Goo() As Integer()
End Function
End Class")
End Function
<WorkItem(545829, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545829")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestOnImplicitMemberAccess() As Task
Await TestAsync(
"Module Program
Sub Main()
With """"
Dim x = [|.GetHashCode|] Xor &H7F3E ' Introduce Local
End With
End Sub
End Module",
"Module Program
Sub Main()
With """"
Dim {|Rename:getHashCode|} As Integer = .GetHashCode
Dim x = getHashCode Xor &H7F3E ' Introduce Local
End With
End Sub
End Module",
parseOptions:=Nothing)
Await TestAsync(
"Module Program
Sub Main()
With """"
Dim x = [|.GetHashCode|] Xor &H7F3E ' Introduce Local
End With
End Sub
End Module",
"Module Program
Sub Main()
With """"
Dim {|Rename:getHashCode1|} As Integer = .GetHashCode
Dim x = getHashCode1 Xor &H7F3E ' Introduce Local
End With
End Sub
End Module",
parseOptions:=GetScriptOptions())
End Function
<WorkItem(545702, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/545702")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestMissingInRefLocation() As Task
Dim markup =
"
Module A
Sub Main()
Goo([|1|])
End Sub
Sub Goo(ByRef x As Long)
End Sub
Sub Goo(x As String)
End Sub
End Module
"
Await TestMissingInRegularAndScriptAsync(markup)
End Function
<WorkItem(546139, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546139")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestAcrossPartialTypes() As Task
Await TestInRegularAndScriptAsync(
"Partial Class C
Sub goo1(Optional x As String = [|""HELLO""|])
End Sub
End Class
Partial Class C
Sub goo3(Optional x As String = ""HELLO"")
End Sub
End Class",
"Partial Class C
Private Const {|Rename:V|} As String = ""HELLO""
Sub goo1(Optional x As String = V)
End Sub
End Class
Partial Class C
Sub goo3(Optional x As String = V)
End Sub
End Class",
index:=1)
End Function
<WorkItem(544669, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/544669")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestFunctionBody1() As Task
Await TestInRegularAndScriptAsync(
"Module Program
Sub Main(args As String())
Dim a1 = Function(ByVal x) [|x!goo|]
End Sub
End Module",
"Module Program
Sub Main(args As String())
Dim a1 = Function(ByVal x)
Dim {|Rename:goo|} As Object = x!goo
Return goo
End Function
End Sub
End Module")
End Function
<WorkItem(1065689, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/1065689")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestTrailingTrivia() As Task
Dim code =
"
Module M
Sub Main()
Dim a = 1 +
[|2|] ' comment
End Sub
End Module
"
Dim expected =
"
Module M
Private Const {|Rename:V|} As Integer = 2
Sub Main()
Dim a = 1 +
V ' comment
End Sub
End Module
"
Await TestInRegularAndScriptAsync(code, expected)
End Function
<WorkItem(546815, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546815")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestInIfStatement() As Task
Await TestInRegularAndScriptAsync(
"Imports System
Imports System.Collections.Generic
Imports System.Linq
Module Program
Sub Main(args As String())
If [|True|] Then
End If
End Sub
End Module",
"Imports System
Imports System.Collections.Generic
Imports System.Linq
Module Program
Private Const {|Rename:V|} As Boolean = True
Sub Main(args As String())
If V Then
End If
End Sub
End Module")
End Function
<WorkItem(830928, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/830928")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestIntroduceLocalRemovesUnnecessaryCast() As Task
Await TestInRegularAndScriptAsync(
"Imports System.Collections.Generic
Class C
Private Shared Sub Main(args As String())
Dim hSet = New HashSet(Of String)()
hSet.Add([|hSet.ToString()|])
End Sub
End Class",
"Imports System.Collections.Generic
Class C
Private Shared Sub Main(args As String())
Dim hSet = New HashSet(Of String)()
Dim {|Rename:item|} As String = hSet.ToString()
hSet.Add(item)
End Sub
End Class")
End Function
<WorkItem(546691, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/546691")>
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsIntroduceVariable)>
Public Async Function TestIntroLocalInSingleLineLambda() As Task
Dim code =
"
Module Program
Sub Main()
Dim x = Function() [|Sub()
End Sub|]
End Sub
End Module
"
Dim expected =
"
Module Program
Sub Main()
Dim {|Rename:p|} = Sub()
End Sub