Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
96610b95
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,发现更多精彩内容 >>
提交
96610b95
编写于
1月 27, 2015
作者:
J
jaredpar
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Finishing off the Interactive and EditorFeatures directories
(changeset 1405366)
上级
890afe5f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
13 deletion
+13
-13
src/Test/Utilities/AssertEx.cs
src/Test/Utilities/AssertEx.cs
+8
-8
src/Test/Utilities/DiffUtil.cs
src/Test/Utilities/DiffUtil.cs
+5
-5
未找到文件。
src/Test/Utilities/AssertEx.cs
浏览文件 @
96610b95
...
...
@@ -24,7 +24,7 @@ public static class AssertEx
private
class
AssertEqualityComparer
<
T
>
:
IEqualityComparer
<
T
>
{
private
static
readonly
IEqualityComparer
<
T
>
instance
=
new
AssertEqualityComparer
<
T
>();
private
static
readonly
IEqualityComparer
<
T
>
s_
instance
=
new
AssertEqualityComparer
<
T
>();
private
static
bool
CanBeNull
()
{
...
...
@@ -45,7 +45,7 @@ public static bool IsNull(T @object)
public
static
bool
Equals
(
T
left
,
T
right
)
{
return
instance
.
Equals
(
left
,
right
);
return
s_
instance
.
Equals
(
left
,
right
);
}
bool
IEqualityComparer
<
T
>.
Equals
(
T
x
,
T
y
)
...
...
@@ -439,7 +439,7 @@ public static string GetAssertMessage<T>(IEnumerable<T> expected, IEnumerable<T>
return
GetAssertMessage
(
expected
,
actual
,
toString
:
toString
,
separator
:
"\r\n"
,
expectedValueSourcePath
:
expectedValueSourcePath
,
expectedValueSourceLine
:
expectedValueSourceLine
);
}
private
static
readonly
string
D
iffToolPath
=
Environment
.
GetEnvironmentVariable
(
"ROSLYN_DIFFTOOL"
);
private
static
readonly
string
s_d
iffToolPath
=
Environment
.
GetEnvironmentVariable
(
"ROSLYN_DIFFTOOL"
);
public
static
string
GetAssertMessage
<
T
>(
IEnumerable
<
T
>
expected
,
...
...
@@ -476,7 +476,7 @@ public static string GetAssertMessage<T>(IEnumerable<T> expected, IEnumerable<T>
internal
static
bool
TryGenerateExpectedSourceFielAndGetDiffLink
(
string
actualString
,
int
expectedLineCount
,
string
expectedValueSourcePath
,
int
expectedValueSourceLine
,
out
string
link
)
{
// add a link to a .cmd file that opens a diff tool:
if
(!
string
.
IsNullOrEmpty
(
D
iffToolPath
)
&&
expectedValueSourcePath
!=
null
&&
expectedValueSourceLine
!=
0
)
if
(!
string
.
IsNullOrEmpty
(
s_d
iffToolPath
)
&&
expectedValueSourcePath
!=
null
&&
expectedValueSourceLine
!=
0
)
{
var
actualFile
=
Path
.
GetTempFileName
();
var
testFileLines
=
File
.
ReadAllLines
(
expectedValueSourcePath
);
...
...
@@ -486,11 +486,11 @@ internal static bool TryGenerateExpectedSourceFielAndGetDiffLink(string actualSt
File
.
AppendAllLines
(
actualFile
,
testFileLines
.
Skip
(
expectedValueSourceLine
+
expectedLineCount
));
var
compareCmd
=
Path
.
GetTempFileName
()
+
".cmd"
;
File
.
WriteAllText
(
compareCmd
,
string
.
Format
(
"\"{0}\" \"{1}\" \"{2}\""
,
D
iffToolPath
,
actualFile
,
expectedValueSourcePath
));
File
.
WriteAllText
(
compareCmd
,
string
.
Format
(
"\"{0}\" \"{1}\" \"{2}\""
,
s_d
iffToolPath
,
actualFile
,
expectedValueSourcePath
));
link
=
"file://"
+
compareCmd
;
D
iffLinks
.
Value
.
Add
(
Tuple
.
Create
(
expectedValueSourcePath
,
expectedValueSourceLine
,
link
));
s_d
iffLinks
.
Value
.
Add
(
Tuple
.
Create
(
expectedValueSourcePath
,
expectedValueSourceLine
,
link
));
return
true
;
}
...
...
@@ -498,13 +498,13 @@ internal static bool TryGenerateExpectedSourceFielAndGetDiffLink(string actualSt
return
false
;
}
private
static
Lazy
<
List
<
Tuple
<
string
,
int
,
string
>>>
D
iffLinks
=
new
Lazy
<
List
<
Tuple
<
string
,
int
,
string
>>>(()
=>
private
static
Lazy
<
List
<
Tuple
<
string
,
int
,
string
>>>
s_d
iffLinks
=
new
Lazy
<
List
<
Tuple
<
string
,
int
,
string
>>>(()
=>
{
AppDomain
.
CurrentDomain
.
DomainUnload
+=
(
_
,
__
)
=>
{
Debug
.
WriteLine
(
"All error diffs:"
);
foreach
(
var
link
in
D
iffLinks
.
Value
.
OrderBy
(
l
=>
l
.
Item1
).
ThenBy
(
l
=>
l
.
Item2
))
foreach
(
var
link
in
s_d
iffLinks
.
Value
.
OrderBy
(
l
=>
l
.
Item1
).
ThenBy
(
l
=>
l
.
Item2
))
{
Debug
.
WriteLine
(
link
.
Item3
);
}
...
...
src/Test/Utilities/DiffUtil.cs
浏览文件 @
96610b95
...
...
@@ -36,16 +36,16 @@ private class LCS<T> : LongestCommonSubsequence<IList<T>>
{
public
static
readonly
LCS
<
T
>
Default
=
new
LCS
<
T
>(
EqualityComparer
<
T
>.
Default
);
private
readonly
IEqualityComparer
<
T
>
comparer
;
private
readonly
IEqualityComparer
<
T
>
_
comparer
;
public
LCS
(
IEqualityComparer
<
T
>
comparer
)
{
this
.
comparer
=
comparer
;
_
comparer
=
comparer
;
}
protected
override
bool
ItemsEqual
(
IList
<
T
>
sequenceA
,
int
indexA
,
IList
<
T
>
sequenceB
,
int
indexB
)
{
return
comparer
.
Equals
(
sequenceA
[
indexA
],
sequenceB
[
indexB
]);
return
_
comparer
.
Equals
(
sequenceA
[
indexA
],
sequenceB
[
indexB
]);
}
public
IEnumerable
<
string
>
CalculateDiff
(
IList
<
T
>
sequenceA
,
IList
<
T
>
sequenceB
,
Func
<
T
,
string
>
toString
)
...
...
@@ -81,11 +81,11 @@ public static string DiffReport<T>(IEnumerable<T> expected, IEnumerable<T> actua
return
string
.
Join
(
separator
,
lcs
.
CalculateDiff
(
expectedList
,
actualList
,
toString
));
}
private
static
readonly
char
[]
L
ineSplitChars
=
new
[]
{
'\r'
,
'\n'
};
private
static
readonly
char
[]
s_l
ineSplitChars
=
new
[]
{
'\r'
,
'\n'
};
public
static
string
[]
Lines
(
string
s
)
{
return
s
.
Split
(
L
ineSplitChars
,
StringSplitOptions
.
RemoveEmptyEntries
);
return
s
.
Split
(
s_l
ineSplitChars
,
StringSplitOptions
.
RemoveEmptyEntries
);
}
public
static
string
DiffReport
(
string
expected
,
string
actual
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录