Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
3d8df092
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,发现更多精彩内容 >>
提交
3d8df092
编写于
11月 02, 2016
作者:
C
CyrusNajmabadi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add tests.
上级
802989f1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
323 addition
and
0 deletion
+323
-0
src/EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj
...EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj
+1
-0
src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.cs
...edString/ConvertConcatenationToInterpolatedStringTests.cs
+322
-0
未找到文件。
src/EditorFeatures/CSharpTest/CSharpEditorServicesTest.csproj
浏览文件 @
3d8df092
...
...
@@ -139,6 +139,7 @@
<Compile
Include=
"Classification\TotalClassifierTests.cs"
/>
<Compile
Include=
"Classification\TotalClassifierTests_Dynamic.cs"
/>
<Compile
Include=
"CodeActions\AbstractCSharpCodeActionTest.cs"
/>
<Compile
Include=
"ConvertToInterpolatedString\ConvertConcatenationToInterpolatedStringTests.cs"
/>
<Compile
Include=
"ConvertToInterpolatedString\ConvertPlaceholderToInterpolatedStringTests.cs"
/>
<Compile
Include=
"CodeActions\EncapsulateField\EncapsulateFieldTests.cs"
/>
<Compile
Include=
"CodeActions\ExtractMethod\ExtractMethodTests.cs"
/>
...
...
src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.cs
0 → 100644
浏览文件 @
3d8df092
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.CodeRefactorings
;
using
Microsoft.CodeAnalysis.CSharp.ConvertToInterpolatedString
;
using
Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings
;
using
Roslyn.Test.Utilities
;
using
Xunit
;
namespace
Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ConvertToInterpolatedString
{
public
class
ConvertConcatenationToInterpolatedStringTests
:
AbstractCSharpCodeActionTest
{
protected
override
CodeRefactoringProvider
CreateCodeRefactoringProvider
(
Workspace
workspace
)
=>
new
CSharpConvertConcatenationToInterpolatedStringRefactoringProvider
();
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestMissingOnSimpleString
()
{
await
TestMissingAsync
(
@"
public class C
{
void M()
{
var v = [||]""string"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithStringOnLeft
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = [||]""string"" + 1;
}
}"
,
@"
public class C
{
void M()
{
var v = $""string{1}"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestRightSideOfString
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = ""string""[||] + 1;
}
}"
,
@"
public class C
{
void M()
{
var v = $""string{1}"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithStringOnRight
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = 1 + [||]""string"";
}
}"
,
@"
public class C
{
void M()
{
var v = $""{1}string"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithComplexExpressionOnLeft
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = 1 + 2 + [||]""string"";
}
}"
,
@"
public class C
{
void M()
{
var v = $""{1 + 2}string"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithTrivia1
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v =
// Leading trivia
1 + 2 + [||]""string"" /* trailing trivia */;
}
}"
,
@"
public class C
{
void M()
{
var v =
// Leading trivia
$""{1 + 2}string"" /* trailing trivia */;
}
}"
,
compareTokens
:
false
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithComplexExpressions
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = 1 + 2 + [||]""string"" + 3 + 4;
}
}"
,
@"
public class C
{
void M()
{
var v = $""{1 + 2}string{3}{4}"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithEscapes1
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = ""\r"" + 2 + [||]""string"" + 3 + ""\n"";
}
}"
,
@"
public class C
{
void M()
{
var v = $""\r{2}string{3}\n"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithEscapes2
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = ""\\r"" + 2 + [||]""string"" + 3 + ""\\n"";
}
}"
,
@"
public class C
{
void M()
{
var v = $""\\r{2}string{3}\\n"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithVerbatimString1
()
{
await
TestAsync
(
@"
public class C
{
void M()
{
var v = 1 + [||]@""string"";
}
}"
,
@"
public class C
{
void M()
{
var v = $@""{1}string"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestMissingWithMixedStringTypes1
()
{
await
TestMissingAsync
(
@"
public class C
{
void M()
{
var v = 1 + [||]@""string"" + 2 + ""string"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestMissingWithMixedStringTypes2
()
{
await
TestMissingAsync
(
@"
public class C
{
void M()
{
var v = 1 + @""string"" + 2 + [||]""string"";
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithOverloadedOperator
()
{
await
TestAsync
(
@"
public class D
{
public static bool operator+(D d, string s) => false;
public static bool operator+(string s, D d) => false;
}
public class C
{
void M()
{
D d = null;
var v = 1 + [||]""string"" + d;
}
}"
,
@"
public class D
{
public static bool operator+(D d, string s) => false;
public static bool operator+(string s, D d) => false;
}
public class C
{
void M()
{
D d = null;
var v = $""{1}string"" + d;
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertToInterpolatedString
)]
public
async
Task
TestWithOverloadedOperator2
()
{
await
TestMissingAsync
(
@"
public class D
{
public static bool operator+(D d, string s) => false;
public static bool operator+(string s, D d) => false;
}
public class C
{
void M()
{
D d = null;
var v = d + [||]""string"" + 1;
}
}"
);
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录