Skip to content

Commit 5c0d274

Browse files
committedAug 4, 2015
Merge pull request code-cracker#457 from adraut/TestCoverage#352-UseConfigureAwaitFalseCodeFixProvider
code-cracker#352 Add fix all tests for UseConfigureAwaitFalseCodeFixProvider
2 parents d3ebe8e + a0ab052 commit 5c0d274

File tree

3 files changed

+60
-1
lines changed

3 files changed

+60
-1
lines changed
 

‎test/CSharp/CodeCracker.Test/Reliability/UseConfigureAwaitFalseTests.cs

+29
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,34 @@ public async Task FixAddsConfigureAwaitFalse(string original, string result)
7070

7171
await VerifyCSharpFixAsync(test, fixtest);
7272
}
73+
74+
[Theory]
75+
[InlineData(
76+
"System.Threading.Tasks.Task t; await t;",
77+
"System.Threading.Tasks.Task t; await t.ConfigureAwait(false);")]
78+
[InlineData(
79+
"System.Threading.Tasks.Task t; await t.ContinueWith(_ => 42);",
80+
"System.Threading.Tasks.Task t; await t.ContinueWith(_ => 42).ConfigureAwait(false);")]
81+
[InlineData(
82+
"await System.Threading.Tasks.Task.Delay(1000);",
83+
"await System.Threading.Tasks.Task.Delay(1000).ConfigureAwait(false);")]
84+
[InlineData(
85+
"await System.Threading.Tasks.Task.FromResult(0);",
86+
"await System.Threading.Tasks.Task.FromResult(0).ConfigureAwait(false);")]
87+
[InlineData(
88+
"await System.Threading.Tasks.Task.Run(() => {});",
89+
"await System.Threading.Tasks.Task.Run(() => {}).ConfigureAwait(false);")]
90+
[InlineData(
91+
"Func<System.Threading.Tasks.Task> f; await f();",
92+
"Func<System.Threading.Tasks.Task> f; await f().ConfigureAwait(false);")]
93+
public async Task FixAllAddsConfigureAwaitFalse(string original, string result)
94+
{
95+
var test1 = original.WrapInCSharpMethod(isAsync: true, typeName: "MyType1");
96+
var fixtest1 = result.WrapInCSharpMethod(isAsync: true, typeName: "MyType1");
97+
var test2 = original.WrapInCSharpMethod(isAsync: true, typeName: "MyType2");
98+
var fixtest2 = result.WrapInCSharpMethod(isAsync: true, typeName: "MyType2");
99+
100+
await VerifyCSharpFixAllAsync(new string[] { test1, test2 }, new string[] { fixtest1, fixtest2 });
101+
}
73102
}
74103
}

‎test/Common/CodeCracker.Test.Common/Helpers/Extensions.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ class {typeName}
3434
}
3535
public static string WrapInVBMethod(this string code,
3636
bool isAsync = false,
37+
string typeName = "TypeName",
3738
string imports = "")
3839
{
3940
return $@"
4041
Imports System{imports}
4142
Namespace ConsoleApplication1
42-
Class TypeName
43+
Class {typeName}
4344
Public {(isAsync ? "Async " : "")}{(isAsync ? "Function" : "Sub")} Foo(){(isAsync ? " As Task" : "")}
4445
{code}
4546
' VB Requires value to be used or another analyzer is added which breaks the tests

‎test/VisualBasic/CodeCracker.Test/Reliability/UseConfigureAwaitFalseTests.vb

+29
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,34 @@ Namespace Reliability
6262

6363
Await VerifyBasicFixAsync(test, fix)
6464
End Function
65+
66+
<Theory>
67+
<InlineData(
68+
"Dim t As System.Threading.Tasks.Task: Await t",
69+
"Dim t As System.Threading.Tasks.Task: Await t.ConfigureAwait(False)")>
70+
<InlineData(
71+
"Dim t As System.Threading.Tasks.Task: Await t.ContinueWith(Function() 42)",
72+
"Dim t As System.Threading.Tasks.Task: Await t.ContinueWith(Function() 42).ConfigureAwait(False)")>
73+
<InlineData(
74+
"Await System.Threading.Tasks.Task.Delay(1000)",
75+
"Await System.Threading.Tasks.Task.Delay(1000).ConfigureAwait(False)")>
76+
<InlineData(
77+
"Await System.Threading.Tasks.Task.FromResult(0)",
78+
"Await System.Threading.Tasks.Task.FromResult(0).ConfigureAwait(False)")>
79+
<InlineData(
80+
"Await System.Threading.Tasks.Task.Run(Sub() )",
81+
"Await System.Threading.Tasks.Task.Run(Sub() ).ConfigureAwait(False)")>
82+
<InlineData(
83+
"Dim f As Func(Of System.Threading.Tasks.Task): Await F()",
84+
"Dim f As Func(Of System.Threading.Tasks.Task): Await F().ConfigureAwait(False)")>
85+
Public Async Function FixAllAddsConfigureAwaitFalse(original As String, result As String) As Task
86+
Dim test1 = original.WrapInVBMethod(isAsync:=True, typeName:="MyType1")
87+
Dim fix1 = result.WrapInVBMethod(isAsync:=True, typeName:="MyType1")
88+
89+
Dim test2 = original.WrapInVBMethod(isAsync:=True, typeName:="MyType2")
90+
Dim fix2 = result.WrapInVBMethod(isAsync:=True, typeName:="MyType2")
91+
92+
Await VerifyBasicFixAllAsync(New String() {test1, test2}, New String() {fix1, fix2})
93+
End Function
6594
End Class
6695
End Namespace

0 commit comments

Comments
 (0)
Please sign in to comment.