Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
7c465c5a
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7c465c5a
编写于
3月 07, 2020
作者:
J
jnm2
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added missing VB SimplifyInterpolationTests
上级
59737636
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
516 addition
and
0 deletion
+516
-0
src/EditorFeatures/VisualBasicTest/SimplifyInterpolation/SimplifyInterpolationTests.vb
...cTest/SimplifyInterpolation/SimplifyInterpolationTests.vb
+516
-0
未找到文件。
src/EditorFeatures/VisualBasicTest/SimplifyInterpolation/SimplifyInterpolationTests.vb
0 → 100644
浏览文件 @
7c465c5a
' Licensed to the .NET Foundation under one or more agreements.
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.
Imports
Microsoft.CodeAnalysis.CodeFixes
Imports
Microsoft.CodeAnalysis.Diagnostics
Imports
Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Diagnostics
Imports
Microsoft.CodeAnalysis.VisualBasic.SimplifyInterpolation
Namespace
Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.SimplifyInterpolation
<
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsSimplifyInterpolation
)
>
Public
Class
SimplifyInterpolationTests
Inherits
AbstractVisualBasicDiagnosticProviderBasedUserDiagnosticTest
Friend
Overrides
Function
CreateDiagnosticProviderAndFixer
(
workspace
As
Workspace
)
As
(
DiagnosticAnalyzer
,
CodeFixProvider
)
Return
(
New
VisualBasicSimplifyInterpolationDiagnosticAnalyzer
(),
New
VisualBasicSimplifyInterpolationCodeFixProvider
())
End
Function
<
Fact
>
Public
Async
Function
SubsequentUnnecessarySpansDoNotRepeatTheSmartTag
()
As
Task
Dim
parameters
=
New
TestParameters
(
retainNonFixableDiagnostics
:
=
True
,
includeDiagnosticsOutsideSelection
:
=
True
)
Using
workspace
=
CreateWorkspaceFromOptions
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].ToString()|}{|Unnecessary:.PadLeft(|}{|Unnecessary:3|})} suffix
""
End Sub
End Class"
,
parameters
)
Dim
diagnostics
=
Await
GetDiagnosticsWorkerAsync
(
workspace
,
parameters
)
Assert
.
Equal
(
{
(
"IDE0071"
,
DiagnosticSeverity
.
Info
),
(
"IDE0071WithoutSuggestion"
,
DiagnosticSeverity
.
Hidden
),
(
"IDE0071WithoutSuggestion"
,
DiagnosticSeverity
.
Hidden
)
},
diagnostics
.
Select
(
Function
(
d
)
(
d
.
Descriptor
.
Id
,
d
.
Severity
)))
End
Using
End
Function
<
Fact
>
Public
Async
Function
ToStringWithNoParameter
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].ToString()|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithParameter
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].ToString(
""
|}g{|Unnecessary:
""
)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue:g} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithEscapeSequences
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].ToString(
""
|}
""""
d
""""
{|Unnecessary:
""
)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue:
""""
d
""""
} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithStringConstantParameter
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Const someConst As String =
""
some format code
""
Dim v = $
""
prefix {someValue[||].ToString(someConst)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithCharacterLiteralParameter
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As C)
Dim v = $
""
prefix {someValue[||].ToString(
""
f
""
c)} suffix
""
End Sub
Function ToString(_ As Object) As String
Return
""
Goobar
""
End Function
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithFormatProvider
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].ToString(
""
some format code
""
, System.Globalization.CultureInfo.CurrentCulture)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWithIntegerLiteral
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].PadLeft(|}3{|Unnecessary:)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWithIntegerLiteral
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].PadRight(|}3{|Unnecessary:)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,-3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWithComplexConstantExpression
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Const someConstant As Integer = 1
Dim v = $
""
prefix {someValue{|Unnecessary:[||].PadLeft(|}CByte(3.3) + someConstant{|Unnecessary:)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Const someConstant As Integer = 1
Dim v = $
""
prefix {someValue,CByte(3.3) + someConstant} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWithSpaceChar
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].PadLeft(|}3{|Unnecessary:,
""
""
c)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWithSpaceChar
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].PadRight(|}3{|Unnecessary:,
""
""
c)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,-3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWithNonSpaceChar
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadLeft(3,
""
x
""
c)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWithNonSpaceChar
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadRight(3,
""
x
""
c)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWithComplexConstantExpressionRequiringParentheses
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Const someConstant As Integer = 1
Dim v = $
""
prefix {someValue{|Unnecessary:[||].PadRight(|}CByte(3.3) + someConstant{|Unnecessary:)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Const someConstant As Integer = 1
Dim v = $
""
prefix {someValue,-(CByte(3.3) + someConstant)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithNoParameterWhenFormattingComponentIsSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].ToString():goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithStringLiteralParameterWhenFormattingComponentIsSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].ToString(
""
bar
""
):goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithNoParameterWhenAlignmentComponentIsSpecified
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].ToString()|},3} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithNoParameterWhenBothComponentsAreSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].ToString(),3:goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithStringLiteralParameterWhenBothComponentsAreSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].ToString(
""
some format code
""
),3:goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWhenFormattingComponentIsSpecified
()
As
Task
Await
TestInRegularAndScript1Async
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadLeft(3):goo} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,3:goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWhenFormattingComponentIsSpecified
()
As
Task
Await
TestInRegularAndScript1Async
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadRight(3):goo} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,-3:goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWhenAlignmentComponentIsSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadLeft(3),3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWhenAlignmentComponentIsSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadRight(3),3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftWhenBothComponentsAreSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadLeft(3),3:goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadRightWhenBothComponentsAreSpecified
()
As
Task
Await
TestMissingInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue[||].PadRight(3),3:goo} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
ToStringWithoutFormatThenPadLeft
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue{|Unnecessary:[||].ToString()|}{|Unnecessary:.PadLeft(|}3{|Unnecessary:)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue,3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftThenToStringWithoutFormat
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3){|Unnecessary:[||].ToString()|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftThenToStringWithoutFormatWhenAlignmentComponentIsSpecified
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3){|Unnecessary:[||].ToString()|},3} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3),3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftThenPadRight_WithoutAlignment
()
As
Task
Await
TestInRegularAndScriptAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3){|Unnecessary:[||].PadRight(|}3{|Unnecessary:)|}} suffix
""
End Sub
End Class"
,
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3),-3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
>
Public
Async
Function
PadLeftThenPadRight_WithAlignment
()
As
Task
Await
TestMissingAsync
(
"
Class C
Sub M(someValue As String)
Dim v = $
""
prefix {someValue.PadLeft(3)[||].PadRight(3),3} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
,
WorkItem
(
41381
,
"https://github.com/dotnet/roslyn/issues/41381"
)
>
Public
Async
Function
MissingOnImplicitToStringReceiver
()
As
Task
Await
TestMissingAsync
(
"
Class C
Public Overrides Function ToString() As String
Return
""
Goobar
""
End Function
Function GetViaInterpolation() As String
Return $
""
Hello {ToString[||]()}
""
End Function
End Class"
)
End
Function
<
Fact
,
WorkItem
(
41381
,
"https://github.com/dotnet/roslyn/issues/41381"
)
>
Public
Async
Function
MissingOnImplicitToStringReceiverWithArg
()
As
Task
Await
TestMissingAsync
(
"
Class C
Function ToString(arg As String) As String
Return
""
Goobar
""
End Function
Function GetViaInterpolation() As String
Return $
""
Hello {ToString[||](
""
g
""
)}
""
End Function
End Class"
)
End
Function
<
Fact
,
WorkItem
(
41381
,
"https://github.com/dotnet/roslyn/issues/41381"
)
>
Public
Async
Function
MissingOnStaticToStringReceiver
()
As
Task
Await
TestMissingAsync
(
"
Class C
Shared Function ToString() As String
Return
""
Goobar
""
End Function
Function GetViaInterpolation() As String
Return $
""
Hello {ToString[||]()}
""
End Function
End Class"
)
End
Function
<
Fact
,
WorkItem
(
41381
,
"https://github.com/dotnet/roslyn/issues/41381"
)
>
Public
Async
Function
MissingOnStaticToStringReceiverWithArg
()
As
Task
Await
TestMissingAsync
(
"
Class C
Shared Function ToString(arg As String) As String
Return
""
Goobar
""
End Function
Function GetViaInterpolation() As String
Return $
""
Hello {ToString[||](
""
g
""
)}
""
End Function
End Class"
)
End
Function
<
Fact
,
WorkItem
(
41381
,
"https://github.com/dotnet/roslyn/issues/41381"
)
>
Public
Async
Function
MissingOnImplicitPadLeft
()
As
Task
Await
TestMissingAsync
(
"
Class C
Function PadLeft(ByVal val As Integer) As String
Return
""""
End Function
Sub M(someValue As String)
Dim v = $
""
prefix {[||]PadLeft(3)} suffix
""
End Sub
End Class"
)
End
Function
<
Fact
,
WorkItem
(
41381
,
"https://github.com/dotnet/roslyn/issues/41381"
)
>
Public
Async
Function
MissingOnStaticPadLeft
()
As
Task
Await
TestMissingAsync
(
"
Class C
Shared Function PadLeft(ByVal val As Integer) As String
Return
""""
End Function
Sub M(someValue As String)
Dim v = $
""
prefix {[||]PadLeft(3)} suffix
""
End Sub
End Class"
)
End
Function
End
Class
End
Namespace
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录