String.Format()

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