提交 d258223e 编写于 作者: C Cyrus Najmabadi

Move to more async workspace tests.

上级 f206f9cf
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Editor.Implementation.CommentSelection;
using Microsoft.CodeAnalysis.Editor.UnitTests.Utilities;
......@@ -18,7 +19,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CommentSelection
public class CSharpCommentSelectionTests
{
[WpfFact, Trait(Traits.Feature, Traits.Features.CommentSelection)]
public void UncommentAndFormat1()
public async Task UncommentAndFormat1()
{
var code = @"class A
{
......@@ -34,11 +35,11 @@ void Method()
}
}";
UncommentSelection(code, expected);
await UncommentSelectionAsync(code, expected);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.CommentSelection)]
public void UncommentAndFormat2()
public async Task UncommentAndFormat2()
{
var code = @"class A
{
......@@ -54,11 +55,11 @@ void Method()
}
}";
UncommentSelection(code, expected);
await UncommentSelectionAsync(code, expected);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.CommentSelection)]
public void UncommentSingleLineCommentInPseudoBlockComment()
public async Task UncommentSingleLineCommentInPseudoBlockComment()
{
var code = @"
class C
......@@ -82,11 +83,11 @@ protected void RtlTranslateAlignment2()
/* Hello world */
}";
UncommentSelection(code, expected);
await UncommentSelectionAsync(code, expected);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.CommentSelection)]
public void UncommentAndFormat3()
public async Task UncommentAndFormat3()
{
var code = @"class A
{
......@@ -102,12 +103,12 @@ void Method()
}
}";
UncommentSelection(code, expected);
await UncommentSelectionAsync(code, expected);
}
private static void UncommentSelection(string markup, string expected)
private static async Task UncommentSelectionAsync(string markup, string expected)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(markup))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(markup))
{
var doc = workspace.Documents.First();
SetupSelection(doc.GetTextView(), doc.SelectedSpans.Select(s => Span.FromBounds(s.Start, s.End)));
......
......@@ -55,7 +55,7 @@ public void AnalyzeCompilation(CompilationAnalysisContext context)
string source,
params DiagnosticDescription[] expectedDiagnostics)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source))
{
var actualDiagnostics = await this.GetDiagnosticsAsync(workspace);
actualDiagnostics.Verify(expectedDiagnostics);
......
// 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.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Commands;
using Microsoft.CodeAnalysis.Editor.CSharp.DocumentationComments;
using Microsoft.CodeAnalysis.Editor.UnitTests.DocumentationComments;
......@@ -14,7 +15,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.DocumentationComments
public class XmlTagCompletionTests : AbstractXmlTagCompletionTests
{
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SimpleTagCompletion()
public async Task SimpleTagCompletion()
{
var text = @"
/// <foo$$
......@@ -24,11 +25,11 @@ class c { }";
/// <foo>$$</foo>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void NestedTagCompletion()
public async Task NestedTagCompletion()
{
var text = @"
/// <summary>
......@@ -42,11 +43,11 @@ class c { }";
/// </summary>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void CompleteBeforeIncompleteTag()
public async Task CompleteBeforeIncompleteTag()
{
var text = @"
/// <foo$$
......@@ -58,11 +59,11 @@ class c { }";
/// </summary>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void NotEmptyElement()
public async Task NotEmptyElement()
{
var text = @"
/// <$$
......@@ -72,11 +73,11 @@ class c { }";
/// <>$$
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void NotAlreadyCompleteTag()
public async Task NotAlreadyCompleteTag()
{
var text = @"
/// <foo$$</foo>
......@@ -86,11 +87,11 @@ class c { }";
/// <foo>$$</foo>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void NotAlreadyCompleteTag2()
public async Task NotAlreadyCompleteTag2()
{
var text = @"
/// <foo$$
......@@ -104,11 +105,11 @@ class c { }";
/// </foo>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SimpleSlashCompletion()
public async Task SimpleSlashCompletion()
{
var text = @"
/// <foo><$$
......@@ -118,11 +119,11 @@ class c { }";
/// <foo></foo>$$
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void NestedSlashTagCompletion()
public async Task NestedSlashTagCompletion()
{
var text = @"
/// <summary>
......@@ -136,11 +137,11 @@ class c { }";
/// </summary>
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SlashCompleteBeforeIncompleteTag()
public async Task SlashCompleteBeforeIncompleteTag()
{
var text = @"
/// <foo><$$
......@@ -152,11 +153,11 @@ class c { }";
/// </summary>
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SlashNotEmptyElement()
public async Task SlashNotEmptyElement()
{
var text = @"
/// <><$$
......@@ -166,11 +167,11 @@ class c { }";
/// <></$$
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SlashNotAlreadyCompleteTag()
public async Task SlashNotAlreadyCompleteTag()
{
var text = @"
/// <foo><$$foo>
......@@ -180,11 +181,11 @@ class c { }";
/// <foo></$$foo>
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SlashNotAlreadyCompleteTag2()
public async Task SlashNotAlreadyCompleteTag2()
{
var text = @"
/// <foo>
......@@ -198,12 +199,12 @@ class c { }";
/// </$$foo>
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
[WorkItem(638800)]
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void NestedIdenticalTags()
public async Task NestedIdenticalTags()
{
var text = @"
/// <foo><foo$$</foo>
......@@ -213,12 +214,12 @@ class c { }";
/// <foo><foo>$$</foo></foo>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WorkItem(638800)]
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void MultipleNestedIdenticalTags()
public async Task MultipleNestedIdenticalTags()
{
var text = @"
/// <foo><foo><foo$$</foo></foo>
......@@ -228,12 +229,12 @@ class c { }";
/// <foo><foo><foo>$$</foo></foo></foo>
class c { }";
Verify(text, expected, '>');
await VerifyAsync(text, expected, '>');
}
[WorkItem(638235)]
[WpfFact, Trait(Traits.Feature, Traits.Features.XmlTagCompletion)]
public void SlashNotIfCloseTagFollows()
public async Task SlashNotIfCloseTagFollows()
{
var text = @"
/// <summary>
......@@ -247,7 +248,7 @@ class c { }";
/// </summary>
class c { }";
Verify(text, expected, '/');
await VerifyAsync(text, expected, '/');
}
internal override ICommandHandler<TypeCharCommandArgs> CreateCommandHandler(ITextUndoHistoryRegistry undoHistory)
......@@ -255,9 +256,9 @@ internal override ICommandHandler<TypeCharCommandArgs> CreateCommandHandler(ITex
return new XmlTagCompletionCommandHandler(undoHistory, TestWaitIndicator.Default);
}
protected override TestWorkspace CreateTestWorkspace(string initialMarkup)
protected override Task<TestWorkspace> CreateTestWorkspaceAsync(string initialMarkup)
{
return CSharpWorkspaceFactory.CreateWorkspaceFromLines(initialMarkup);
return CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(initialMarkup);
}
}
}
......@@ -5,6 +5,7 @@
using System.Collections.Immutable;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Test.Utilities;
using Microsoft.CodeAnalysis.Differencing;
......@@ -231,7 +232,7 @@ public void ErrorSpansAllKinds()
}
[WpfFact]
public void AnalyzeDocumentAsync_InsignificantChangesInMethodBody()
public async Task AnalyzeDocumentAsync_InsignificantChangesInMethodBody()
{
string source1 = @"
class C
......@@ -254,7 +255,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source1))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source1))
{
var documentId = workspace.CurrentSolution.Projects.First().Documents.First().Id;
var oldSolution = workspace.CurrentSolution;
......@@ -289,7 +290,7 @@ public static void Main()
}
[WpfFact]
public void AnalyzeDocumentAsync_SyntaxError_Change()
public async Task AnalyzeDocumentAsync_SyntaxError_Change()
{
string source1 = @"
class C
......@@ -311,7 +312,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source1))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source1))
{
var documentId = workspace.CurrentSolution.Projects.First().Documents.First().Id;
var oldSolution = workspace.CurrentSolution;
......@@ -327,7 +328,7 @@ public static void Main()
}
[WpfFact]
public void AnalyzeDocumentAsync_SyntaxError_NoChange()
public async Task AnalyzeDocumentAsync_SyntaxError_NoChange()
{
string source = @"
class C
......@@ -340,7 +341,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source))
{
var document = workspace.CurrentSolution.Projects.First().Documents.First();
var baseActiveStatements = ImmutableArray.Create<ActiveStatementSpan>();
......@@ -353,7 +354,7 @@ public static void Main()
}
[WpfFact]
public void AnalyzeDocumentAsync_SyntaxError_NoChange2()
public async Task AnalyzeDocumentAsync_SyntaxError_NoChange2()
{
string source1 = @"
class C
......@@ -375,7 +376,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source1))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source1))
{
var documentId = workspace.CurrentSolution.Projects.First().Documents.First().Id;
var oldSolution = workspace.CurrentSolution;
......@@ -470,7 +471,7 @@ public static void Main()
}
[WpfFact]
public void AnalyzeDocumentAsync_SemanticError_NoChange()
public async Task AnalyzeDocumentAsync_SemanticError_NoChange()
{
string source = @"
class C
......@@ -484,7 +485,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source))
{
var document = workspace.CurrentSolution.Projects.First().Documents.First();
var baseActiveStatements = ImmutableArray.Create<ActiveStatementSpan>();
......@@ -497,7 +498,7 @@ public static void Main()
}
[WpfFact]
public void AnalyzeDocumentAsync_SemanticError_Change()
public async Task AnalyzeDocumentAsync_SemanticError_Change()
{
string source1 = @"
class C
......@@ -521,7 +522,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source1))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source1))
{
var documentId = workspace.CurrentSolution.Projects.First().Documents.First().Id;
var oldSolution = workspace.CurrentSolution;
......@@ -537,7 +538,7 @@ public static void Main()
}
[WpfFact]
public void AnalyzeDocumentAsync_AddingNewFileHavingRudeEdits()
public async Task AnalyzeDocumentAsync_AddingNewFileHavingRudeEdits()
{
string source1 = @"
namespace N
......@@ -560,7 +561,7 @@ public class D
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source1))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source1))
{
// fork the solution to introduce a change
var project = workspace.CurrentSolution.Projects.Single();
......@@ -593,7 +594,7 @@ public class D
}
[WpfFact]
public void AnalyzeDocumentAsync_AddingNewFile()
public async Task AnalyzeDocumentAsync_AddingNewFile()
{
string source1 = @"
namespace N
......@@ -610,7 +611,7 @@ public static void Main()
";
var analyzer = new CSharpEditAndContinueAnalyzer();
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(source1))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(source1))
{
// fork the solution to introduce a change
var project = workspace.CurrentSolution.Projects.Single();
......
......@@ -3,6 +3,7 @@
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.ExtractMethod;
using Microsoft.CodeAnalysis.CSharp.Syntax;
......@@ -14,9 +15,9 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ExtractMethod
{
public class ExtractMethodBase
{
protected void ExpectExtractMethodToFail(string codeWithMarker, bool allowMovingDeclaration = true, bool dontPutOutOrRefOnStruct = true)
protected async Task ExpectExtractMethodToFailAsync(string codeWithMarker, bool allowMovingDeclaration = true, bool dontPutOutOrRefOnStruct = true)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(codeWithMarker))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(codeWithMarker))
{
var testDocument = workspace.Documents.First();
var textSpan = testDocument.SelectedSpans.Single();
......@@ -24,14 +25,14 @@ protected void ExpectExtractMethodToFail(string codeWithMarker, bool allowMoving
}
}
protected void ExpectExtractMethodToFail(
protected async Task ExpectExtractMethodToFailAsync(
string codeWithMarker,
string expected,
bool allowMovingDeclaration = true,
bool dontPutOutOrRefOnStruct = true,
CSharpParseOptions parseOptions = null)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(new[] { codeWithMarker }, parseOptions: parseOptions))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(new[] { codeWithMarker }, parseOptions: parseOptions))
{
var testDocument = workspace.Documents.Single();
var subjectBuffer = testDocument.TextBuffer;
......@@ -48,9 +49,9 @@ protected void ExpectExtractMethodToFail(string codeWithMarker, bool allowMoving
}
}
protected void NotSupported_ExtractMethod(string codeWithMarker)
protected async Task NotSupported_ExtractMethodAsync(string codeWithMarker)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(codeWithMarker))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(codeWithMarker))
{
Assert.NotNull(Record.Exception(() =>
{
......
// 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.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp;
using Roslyn.Test.Utilities;
using Xunit;
......@@ -817,7 +818,7 @@ private static int NewMethod()
[WorkItem(11155, "DevDiv_Projects/Roslyn")]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void AnonymousTypeMember1()
public async Task AnonymousTypeMember1()
{
var code = @"using System;
......@@ -830,7 +831,7 @@ static void Main(string[] args)
}
}
";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(544259)]
......@@ -862,7 +863,7 @@ private static Program NewMethod()
[WorkItem(543984)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethod_UnsafeAddressTaken()
public async Task ExtractMethod_UnsafeAddressTaken()
{
var code = @"class C
{
......@@ -886,7 +887,7 @@ unsafe void M()
}
}";
ExpectExtractMethodToFail(code, expected);
await ExpectExtractMethodToFailAsync(code, expected);
}
[WorkItem(544387)]
......@@ -926,7 +927,7 @@ private static unsafe int GetA1(int* p1)
[WorkItem(544514)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethod_AnonymousType()
public async Task ExtractMethod_AnonymousType()
{
var code = @"public class Test
{
......@@ -954,7 +955,7 @@ private static void NewMethod(object p2)
}
}";
ExpectExtractMethodToFail(code, expected);
await ExpectExtractMethodToFailAsync(code, expected);
}
[WorkItem(544920)]
......@@ -990,7 +991,7 @@ private static void NewMethod()
[WorkItem(539310)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Readonly_Field_WrittenTo()
public async Task Readonly_Field_WrittenTo()
{
var code = @"class C
{
......@@ -1001,7 +1002,7 @@ public void Readonly_Field_WrittenTo()
[|i = 1;|]
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(539310)]
......@@ -1038,7 +1039,7 @@ private void NewMethod()
[WorkItem(545180)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void NodeHasSyntacticErrors()
public async Task NodeHasSyntacticErrors()
{
var code = @"using System;
using System.Collections.Generic;
......@@ -1055,12 +1056,12 @@ static void Main(string[] args)
}
}
";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(545292)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void LocalConst()
public async Task LocalConst()
{
var code = @"class Test
{
......@@ -1069,7 +1070,7 @@ public static void Main()
const int v = [|3|];
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(545315)]
......@@ -1105,7 +1106,7 @@ private static void NewMethod(int? q)
[WorkItem(545263)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void SyntacticErrorInSelection()
public async Task SyntacticErrorInSelection()
{
var code = @"class Program
{
......@@ -1122,7 +1123,7 @@ private static string NewMethod()
}
}
";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(544497)]
......@@ -1663,7 +1664,7 @@ private static async Task<int> NewMethod(int i)
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void AwaitExpression_Normal_AwaitWithReturnParameter_Error()
public async Task AwaitExpression_Normal_AwaitWithReturnParameter_Error()
{
var code = @"using System;
using System.Threading.Tasks;
......@@ -1677,7 +1678,7 @@ public async void Test(int i)
Console.WriteLine(i);
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
......
......@@ -3,6 +3,7 @@
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Xml.Linq;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.ExtractMethod;
......@@ -1636,7 +1637,7 @@ private static void NewMethod(int unassigned)
[WorkItem(538303)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethod40()
public async Task ExtractMethod40()
{
var code = @"class Program
{
......@@ -1645,7 +1646,7 @@ static void Main(string[] args)
[|int x;|]
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(868414)]
......@@ -1685,7 +1686,7 @@ private static void NewMethod()
[WorkItem(632351)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethodFailForTypeInFromClause()
public async Task ExtractMethodFailForTypeInFromClause()
{
var code = @"class Program
{
......@@ -1694,12 +1695,12 @@ static void Main(string[] args)
var z = from [|T|] x in e;
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(632351)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethodFailForTypeInFromClause_1()
public async Task ExtractMethodFailForTypeInFromClause_1()
{
var code = @"class Program
{
......@@ -1708,7 +1709,7 @@ static void Main(string[] args)
var z = from [|W.T|] x in e;
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(538314)]
......@@ -2628,7 +2629,7 @@ private static T GetT<T>()
[WorkItem(4782, "DevDiv_Projects/Roslyn")]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void BugFix4782_2()
public async Task BugFix4782_2()
{
var code = @"class A<T>
{
......@@ -2644,7 +2645,7 @@ static void Foo()
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(4791, "DevDiv_Projects/Roslyn")]
......@@ -3293,7 +3294,7 @@ private static void NewMethod(int i)
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void MatrixCase_NoNoNoYesNoNoNoNo()
public async Task MatrixCase_NoNoNoYesNoNoNoNo()
{
var code = @"using System;
......@@ -3307,11 +3308,11 @@ void Test5()
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void MatrixCase_NoNoNoYesNoNoNoYes()
public async Task MatrixCase_NoNoNoYesNoNoNoYes()
{
var code = @"using System;
......@@ -3327,7 +3328,7 @@ void Test6()
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
......@@ -4270,7 +4271,7 @@ private static int NewMethod(int i)
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void MatrixCase_NoYesNoYesNoNoYesNo()
public async Task MatrixCase_NoYesNoYesNoNoYesNo()
{
var code = @"using System;
......@@ -4286,11 +4287,11 @@ void Test23()
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void MatrixCase_NoYesNoYesNoNoYesYes()
public async Task MatrixCase_NoYesNoYesNoNoYesYes()
{
var code = @"using System;
......@@ -4308,7 +4309,7 @@ void Test24()
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
......@@ -5938,7 +5939,7 @@ private static void NewMethod(out int x, out int y)
[WorkItem(539225)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Bug5098()
public async Task Bug5098()
{
var code = @"class Program
{
......@@ -5949,7 +5950,7 @@ static void Main(string[] args)
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(539229)]
......@@ -6481,7 +6482,7 @@ private static void NewMethod()
[WorkItem(539963)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethod53()
public async Task ExtractMethod53()
{
var code = @"class Class
{
......@@ -6492,12 +6493,12 @@ void Main()
}
enum Enum { }";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(539964)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void ExtractMethod54()
public async Task ExtractMethod54()
{
var code = @"class Class
{
......@@ -6506,7 +6507,7 @@ void Main([|string|][] args)
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(540072)]
......@@ -6921,7 +6922,7 @@ private static void NewMethod(bool b)
[WorkItem(540154)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Bug6313_1()
public async Task Bug6313_1()
{
var code = @"using System;
......@@ -6937,12 +6938,12 @@ void Test(bool b)
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(540154)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Bug6313_2()
public async Task Bug6313_2()
{
var code = @"using System;
......@@ -6958,7 +6959,7 @@ int Test(bool b)
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(540154)]
......@@ -7135,7 +7136,7 @@ private static void NewMethod()
[WorkItem(540154)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Bug6313_6()
public async Task Bug6313_6()
{
var code = @"using System;
......@@ -7154,7 +7155,7 @@ void Test()
};
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(540170)]
......@@ -7536,14 +7537,14 @@ private static int GetY()
[WorkItem(540335)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Bug6562_1()
public async Task Bug6562_1()
{
var code = @"using System;
class Program
{
const int i = [|10|];
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(540335)]
......@@ -7594,7 +7595,7 @@ private static string NewMethod()
[WorkItem(540361)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void Bug6598()
public async Task Bug6598()
{
var code = @"using System;
using System.Collections.Generic;
......@@ -7607,7 +7608,7 @@ static void Main(string[] args)
[|Program|]
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(540372)]
......@@ -7649,7 +7650,7 @@ private static void NewMethod()
[WorkItem(540396)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void InvalidSelection_MethodBody()
public async Task InvalidSelection_MethodBody()
{
var code = @"using System;
......@@ -7669,7 +7670,7 @@ void Method5(bool b1, bool b2)
}|]
}
} ";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(541586)]
......@@ -7728,7 +7729,7 @@ private static int GetX2(int x1)
[WorkItem(541668)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void BreakInSelection()
public async Task BreakInSelection()
{
var code = @"using System;
using System.Collections.Generic;
......@@ -7763,7 +7764,7 @@ static void Main(string[] args)
}
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(541671)]
......@@ -7900,7 +7901,7 @@ private static Program NewMethod()
[WorkItem(541889)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void DontCrashOnRangeVariableSymbol()
public async Task DontCrashOnRangeVariableSymbol()
{
var code = @"class Test
{
......@@ -7910,7 +7911,7 @@ public void Linq1()
var lowNums = [|from|] n in numbers where n < 5 select n;
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
......@@ -9512,7 +9513,7 @@ private static string NewMethod(string a)
[WorkItem(544675)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void HiddenPosition()
public async Task HiddenPosition()
{
var code = @"class Program
{
......@@ -9525,7 +9526,7 @@ static void Main(string[] args)
#line hidden
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(530609)]
......@@ -9999,7 +10000,7 @@ private static int NewMethod()
[WorkItem(574576)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void TestAsyncMethodWithRefOrOutParameters()
public async Task TestAsyncMethodWithRefOrOutParameters()
{
var code =
@"using System.Threading.Tasks;
......@@ -10016,12 +10017,12 @@ public async void Foo()
}
}";
ExpectExtractMethodToFail(code);
await ExpectExtractMethodToFailAsync(code);
}
[WorkItem(1025272)]
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void TestAsyncMethodWithWellKnownValueType()
public async Task TestAsyncMethodWithWellKnownValueType()
{
var code =
@"using System;
......@@ -10073,11 +10074,11 @@ private static async Task<int> NewMethod(ref CancellationToken cancellationToken
}, cancellationToken);
}
}";
ExpectExtractMethodToFail(code, expected);
await ExpectExtractMethodToFailAsync(code, expected);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void TestAsyncMethodWithWellKnownValueType1()
public async Task TestAsyncMethodWithWellKnownValueType1()
{
var code =
@"using System;
......@@ -10102,11 +10103,11 @@ public async Task Hello()
Console.WriteLine(i);
}
}";
ExpectExtractMethodToFail(code, allowMovingDeclaration: false);
await ExpectExtractMethodToFailAsync(code, allowMovingDeclaration: false);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
public void TestDontPutOutOrRefForStructOff()
public async Task TestDontPutOutOrRefForStructOff()
{
var code =
@"using System.Threading.Tasks;
......@@ -10135,7 +10136,7 @@ private async Task<int> Test()
}
}
}";
ExpectExtractMethodToFail(code, dontPutOutOrRefOnStruct: false);
await ExpectExtractMethodToFailAsync(code, dontPutOutOrRefOnStruct: false);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.ExtractMethod)]
......
......@@ -25,14 +25,15 @@
using Roslyn.Test.Utilities;
using Xunit;
using Roslyn.Utilities;
using System.Threading.Tasks;
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Formatting
{
public class FormattingEngineTestBase
{
protected void AssertFormat(string expected, string code, bool debugMode = false, Dictionary<OptionKey, object> changedOptionSet = null, bool useTab = false, bool testWithTransformation = true)
protected async Task AssertFormatAsync(string expected, string code, bool debugMode = false, Dictionary<OptionKey, object> changedOptionSet = null, bool useTab = false, bool testWithTransformation = true)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(code))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(code))
{
var hostdoc = workspace.Documents.First();
......@@ -110,9 +111,9 @@ private static string ApplyResultAndGetFormattedText(ITextBuffer buffer, IList<T
return buffer.CurrentSnapshot.GetText();
}
protected void AssertFormat(string expected, string code, IEnumerable<TextSpan> spans, bool debugMode = false, Dictionary<OptionKey, object> changedOptionSet = null, int? baseIndentation = null)
protected async Task AssertFormatAsync(string expected, string code, IEnumerable<TextSpan> spans, bool debugMode = false, Dictionary<OptionKey, object> changedOptionSet = null, int? baseIndentation = null)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(code))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(code))
{
var hostdoc = workspace.Documents.First();
var buffer = hostdoc.GetTextBuffer();
......@@ -173,7 +174,7 @@ internal static void AssertFormat(Workspace workspace, string expected, OptionSe
Assert.Equal(expected, actual);
}
protected static void AssertFormatWithView(string expectedWithMarker, string codeWithMarker, bool debugMode = false)
protected static async Task AssertFormatWithViewAsync(string expectedWithMarker, string codeWithMarker, bool debugMode = false)
{
var editorOperations = new Mock<IEditorOperations>(MockBehavior.Strict);
var editorOperationsFactoryService = new Mock<IEditorOperationsFactoryService>(MockBehavior.Strict);
......@@ -183,7 +184,7 @@ protected static void AssertFormatWithView(string expectedWithMarker, string cod
editorOperationsFactoryService.Setup(s => s.GetEditorOperations(It.IsAny<ITextView>())).Returns(editorOperations.Object);
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(codeWithMarker))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(codeWithMarker))
{
// set up caret position
var testDocument = workspace.Documents.Single();
......@@ -210,9 +211,9 @@ protected static void AssertFormatWithView(string expectedWithMarker, string cod
}
}
protected static void AssertFormatWithPasteOrReturn(string expectedWithMarker, string codeWithMarker, bool allowDocumentChanges, bool isPaste = true)
protected static async Task AssertFormatWithPasteOrReturnAsync(string expectedWithMarker, string codeWithMarker, bool allowDocumentChanges, bool isPaste = true)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(codeWithMarker))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(codeWithMarker))
{
workspace.CanApplyChangeDocument = allowDocumentChanges;
......@@ -256,13 +257,13 @@ protected static void AssertFormatWithPasteOrReturn(string expectedWithMarker, s
}
}
protected void AssertFormatWithBaseIndent(string expected, string markupCode, int baseIndentation)
protected async Task AssertFormatWithBaseIndentAsync(string expected, string markupCode, int baseIndentation)
{
string code;
TextSpan span;
MarkupTestFile.GetSpan(markupCode, out code, out span);
AssertFormat(
await AssertFormatAsync(
expected,
code,
new List<TextSpan> { span },
......
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Commands;
using Microsoft.CodeAnalysis.Editor.Implementation.Formatting;
using Microsoft.CodeAnalysis.Editor.Options;
......@@ -23,7 +24,7 @@ public class FormattingEngineTests : FormattingEngineTestBase
[WpfFact]
[WorkItem(539682)]
[Trait(Traits.Feature, Traits.Features.Formatting)]
public void FormatDocumentCommandHandler()
public async Task FormatDocumentCommandHandler()
{
var code = @"class Program
{
......@@ -45,13 +46,13 @@ static void Main(string[] args)
}
";
AssertFormatWithView(expected, code);
await AssertFormatWithViewAsync(expected, code);
}
[WpfFact]
[WorkItem(539682)]
[Trait(Traits.Feature, Traits.Features.Formatting)]
public void FormatDocumentPasteCommandHandler()
public async Task FormatDocumentPasteCommandHandler()
{
var code = @"class Program
{
......@@ -73,13 +74,13 @@ static void Main(string[] args)
}
";
AssertFormatWithPasteOrReturn(expected, code, allowDocumentChanges: true);
await AssertFormatWithPasteOrReturnAsync(expected, code, allowDocumentChanges: true);
}
[WpfFact]
[WorkItem(547261)]
[Trait(Traits.Feature, Traits.Features.Formatting)]
public void FormatDocumentReadOnlyWorkspacePasteCommandHandler()
public async Task FormatDocumentReadOnlyWorkspacePasteCommandHandler()
{
var code = @"class Program
{
......@@ -101,13 +102,13 @@ static void Main(string[] args)
}
";
AssertFormatWithPasteOrReturn(expected, code, allowDocumentChanges: false);
await AssertFormatWithPasteOrReturnAsync(expected, code, allowDocumentChanges: false);
}
[WpfFact]
[WorkItem(912965)]
[Trait(Traits.Feature, Traits.Features.Formatting)]
public void FormatUsingStatementOnReturn()
public async Task FormatUsingStatementOnReturn()
{
var code = @"class Program
{
......@@ -129,13 +130,13 @@ static void Main(string[] args)
}
";
AssertFormatWithPasteOrReturn(expected, code, allowDocumentChanges: true, isPaste: false);
await AssertFormatWithPasteOrReturnAsync(expected, code, allowDocumentChanges: true, isPaste: false);
}
[WpfFact]
[WorkItem(912965)]
[Trait(Traits.Feature, Traits.Features.Formatting)]
public void FormatNotUsingStatementOnReturn()
public async Task FormatNotUsingStatementOnReturn()
{
var code = @"class Program
{
......@@ -157,7 +158,7 @@ static void Main(string[] args)
}
";
AssertFormatWithPasteOrReturn(expected, code, allowDocumentChanges: true, isPaste: false);
await AssertFormatWithPasteOrReturnAsync(expected, code, allowDocumentChanges: true, isPaste: false);
}
[WorkItem(977133)]
......
// 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.Threading.Tasks;
using Microsoft.CodeAnalysis.Text;
using Roslyn.Test.Utilities;
using Xunit;
......@@ -9,7 +10,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Formatting
public class FormattingEngineTests_Venus : FormattingEngineTestBase
{
[WpfFact, Trait(Traits.Feature, Traits.Features.Formatting), Trait(Traits.Feature, Traits.Features.Venus)]
public void SimpleOneLineNugget()
public async Task SimpleOneLineNugget()
{
var code = @"public class Default
{
......@@ -33,11 +34,11 @@ void PreRender()
}
}";
AssertFormatWithBaseIndent(expected, code, baseIndentation: 7);
await AssertFormatWithBaseIndentAsync(expected, code, baseIndentation: 7);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.Formatting), Trait(Traits.Feature, Traits.Features.Venus)]
public void SimpleMultiLineNugget()
public async Task SimpleMultiLineNugget()
{
var code = @"public class Default
{
......@@ -66,11 +67,11 @@ void PreRender()
}
}";
AssertFormatWithBaseIndent(expected, code, baseIndentation: 3);
await AssertFormatWithBaseIndentAsync(expected, code, baseIndentation: 3);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.Formatting), Trait(Traits.Feature, Traits.Features.Venus)]
public void SimpleQueryWithinNugget()
public async Task SimpleQueryWithinNugget()
{
var code = @"public class Default
{
......@@ -100,11 +101,11 @@ void PreRender()
}
}";
AssertFormatWithBaseIndent(expected, code, baseIndentation: 7);
await AssertFormatWithBaseIndentAsync(expected, code, baseIndentation: 7);
}
[WpfFact, Trait(Traits.Feature, Traits.Features.Formatting), Trait(Traits.Feature, Traits.Features.Venus)]
public void LambdaExpressionInNugget()
public async Task LambdaExpressionInNugget()
{
var code = @"public class Default
{
......@@ -134,12 +135,12 @@ void PreRender()
}
}";
AssertFormatWithBaseIndent(expected, code, baseIndentation: 3);
await AssertFormatWithBaseIndentAsync(expected, code, baseIndentation: 3);
}
[WorkItem(576457)]
[WpfFact, Trait(Traits.Feature, Traits.Features.Formatting), Trait(Traits.Feature, Traits.Features.Venus)]
public void StatementLambdaInNugget()
public async Task StatementLambdaInNugget()
{
var code = @"public class Default
{
......@@ -190,7 +191,7 @@ void PreRender()
// It is somewhat odd that the 'x' and the ')' maintain their
// position relative to 'foreach', but the block doesn't, but that isn't
// Venus specific, just the way the formatting engine is.
AssertFormatWithBaseIndent(expected, code, baseIndentation: 3);
await AssertFormatWithBaseIndentAsync(expected, code, baseIndentation: 3);
}
}
}
......@@ -94,7 +94,7 @@ private static void ApplyChanges(ITextBuffer buffer, IList<TextChange> changes)
}
}
protected Task<int> GetSmartTokenFormatterIndentationAsync(
protected async Task<int> GetSmartTokenFormatterIndentationAsync(
string code,
int indentationLine,
char ch,
......@@ -102,7 +102,7 @@ private static void ApplyChanges(ITextBuffer buffer, IList<TextChange> changes)
TextSpan span = default(TextSpan))
{
// create tree service
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(code))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(code))
{
if (baseIndentation.HasValue)
{
......@@ -114,7 +114,7 @@ private static void ApplyChanges(ITextBuffer buffer, IList<TextChange> changes)
}
var buffer = workspace.Documents.First().GetTextBuffer();
return GetSmartTokenFormatterIndentationWorkerAsync(workspace, buffer, indentationLine, ch);
return await GetSmartTokenFormatterIndentationWorkerAsync(workspace, buffer, indentationLine, ch);
}
}
......
......@@ -156,7 +156,7 @@ public async Task SemanticErrorReported()
[WpfFact, Trait(Traits.Feature, Traits.Features.ErrorSquiggles)]
public async Task TestNoErrorsAfterDocumentRemoved()
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines("class"))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync("class"))
using (var wrapper = new DiagnosticTaggerWrapper(workspace))
{
var tagger = wrapper.TaggerProvider.CreateTagger<IErrorTag>(workspace.Documents.First().GetTextBuffer());
......@@ -186,7 +186,7 @@ public async Task TestNoErrorsAfterDocumentRemoved()
[WpfFact, Trait(Traits.Feature, Traits.Features.ErrorSquiggles)]
public async Task TestNoErrorsAfterProjectRemoved()
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines("class"))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync("class"))
using (var wrapper = new DiagnosticTaggerWrapper(workspace))
{
var tagger = wrapper.TaggerProvider.CreateTagger<IErrorTag>(workspace.Documents.First().GetTextBuffer());
......
......@@ -2,6 +2,7 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Implementation.TodoComments;
using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces;
using Microsoft.CodeAnalysis.SolutionCrawler;
......@@ -15,119 +16,119 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.TodoComment
public class TodoCommentTests
{
[WpfFact]
public void SingleLineTodoComment_Colon()
public async Task SingleLineTodoComment_Colon()
{
var code = @"// [|TODO:test|]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Space()
public async Task SingleLineTodoComment_Space()
{
var code = @"// [|TODO test|]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Underscore()
public async Task SingleLineTodoComment_Underscore()
{
var code = @"// TODO_test";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Number()
public async Task SingleLineTodoComment_Number()
{
var code = @"// TODO1 test";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Quote()
public async Task SingleLineTodoComment_Quote()
{
var code = @"// ""TODO test""";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Middle()
public async Task SingleLineTodoComment_Middle()
{
var code = @"// Hello TODO test";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Document()
public async Task SingleLineTodoComment_Document()
{
var code = @"/// [|TODO test|]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Preprocessor1()
public async Task SingleLineTodoComment_Preprocessor1()
{
var code = @"#if DEBUG // [|TODO test|]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Preprocessor2()
public async Task SingleLineTodoComment_Preprocessor2()
{
var code = @"#if DEBUG /// [|TODO test|]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_Region()
public async Task SingleLineTodoComment_Region()
{
var code = @"#region // TODO test";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_EndRegion()
public async Task SingleLineTodoComment_EndRegion()
{
var code = @"#endregion // [|TODO test|]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SingleLineTodoComment_TrailingSpan()
public async Task SingleLineTodoComment_TrailingSpan()
{
var code = @"// [|TODO test |]";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void MultilineTodoComment_Singleline()
public async Task MultilineTodoComment_Singleline()
{
var code = @"/* [|TODO: hello |]*/";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void MultilineTodoComment_Singleline_Document()
public async Task MultilineTodoComment_Singleline_Document()
{
var code = @"/** [|TODO: hello |]*/";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void MultilineTodoComment_Multiline()
public async Task MultilineTodoComment_Multiline()
{
var code = @"
/* [|TODO: hello |]
......@@ -136,11 +137,11 @@ public void MultilineTodoComment_Multiline()
* [|TODO: hello |]
[|TODO: hello |]*/";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void MultilineTodoComment_Multiline_DocComment()
public async Task MultilineTodoComment_Multiline_DocComment()
{
var code = @"
/** [|TODO: hello |]
......@@ -149,11 +150,11 @@ public void MultilineTodoComment_Multiline_DocComment()
* [|TODO: hello |]
[|TODO: hello |]*/";
Test(code);
await TestAsync(code);
}
[WpfFact]
public void SinglelineDocumentComment_Multiline()
public async Task SinglelineDocumentComment_Multiline()
{
var code = @"
/// <summary>
......@@ -161,12 +162,12 @@ public void SinglelineDocumentComment_Multiline()
/// </summary>
/// [|UNDONE: test2 |]";
Test(code);
await TestAsync(code);
}
private static void Test(string codeWithMarker)
private static async Task TestAsync(string codeWithMarker)
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(codeWithMarker))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(codeWithMarker))
{
var commentTokens = new TodoCommentTokens();
var provider = new TodoCommentIncrementalAnalyzerProvider(commentTokens);
......
......@@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Editor;
using Microsoft.CodeAnalysis.Editor.Shared.Extensions;
......@@ -20,11 +21,11 @@ private Document GetDocument(TestWorkspace workspace)
return workspace.CurrentSolution.GetDocument(workspace.Documents.First().Id);
}
protected abstract TestWorkspace CreateWorkspaceFromCode(string code);
protected abstract Task<TestWorkspace> CreateWorkspaceFromCodeAsync(string code);
protected void Test(string markup, string expectedCode)
protected async Task TestAsync(string markup, string expectedCode)
{
using (var workspace = CreateWorkspaceFromCode(markup))
using (var workspace = await CreateWorkspaceFromCodeAsync(markup))
{
var position = workspace.Documents.Single().CursorPosition.Value;
var document = GetDocument(workspace);
......
......@@ -2,6 +2,7 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Commands;
using Microsoft.CodeAnalysis.Editor.Host;
using Microsoft.CodeAnalysis.Editor.Shared.Options;
......@@ -22,11 +23,11 @@ public abstract class AbstractDocumentationCommentTests
protected abstract char DocumentationCommentCharacter { get; }
internal abstract ICommandHandler CreateCommandHandler(IWaitIndicator waitIndicator, ITextUndoHistoryRegistry undoHistoryRegistry, IEditorOperationsFactoryService editorOperationsFactoryService, IAsyncCompletionService completionService);
protected abstract TestWorkspace CreateTestWorkspace(string code);
protected abstract Task<TestWorkspace> CreateTestWorkspaceAsync(string code);
protected void VerifyTypingCharacter(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
protected async Task VerifyTypingCharacterAsync(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
{
Verify(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
await VerifyAsync(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
execute: (view, undoHistoryRegistry, editorOperationsFactoryService, completionService) =>
{
var commandHandler = CreateCommandHandler(TestWaitIndicator.Default, undoHistoryRegistry, editorOperationsFactoryService, completionService) as ICommandHandler<TypeCharCommandArgs>;
......@@ -38,9 +39,9 @@ protected void VerifyTypingCharacter(string initialMarkup, string expectedMarkup
});
}
protected void VerifyPressingEnter(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
protected async Task VerifyPressingEnterAsync(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
{
Verify(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
await VerifyAsync(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
execute: (view, undoHistoryRegistry, editorOperationsFactoryService, completionService) =>
{
var commandHandler = CreateCommandHandler(TestWaitIndicator.Default, undoHistoryRegistry, editorOperationsFactoryService, completionService) as ICommandHandler<ReturnKeyCommandArgs>;
......@@ -52,9 +53,9 @@ protected void VerifyPressingEnter(string initialMarkup, string expectedMarkup,
});
}
protected void VerifyInsertCommentCommand(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
protected async Task VerifyInsertCommentCommandAsync(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
{
Verify(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
await VerifyAsync(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
execute: (view, undoHistoryRegistry, editorOperationsFactoryService, completionService) =>
{
var commandHandler = CreateCommandHandler(TestWaitIndicator.Default, undoHistoryRegistry, editorOperationsFactoryService, completionService) as ICommandHandler<InsertCommentCommandArgs>;
......@@ -66,9 +67,9 @@ protected void VerifyInsertCommentCommand(string initialMarkup, string expectedM
});
}
protected void VerifyOpenLineAbove(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
protected async Task VerifyOpenLineAboveAsync(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
{
Verify(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
await VerifyAsync(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
execute: (view, undoHistoryRegistry, editorOperationsFactoryService, completionService) =>
{
var commandHandler = CreateCommandHandler(TestWaitIndicator.Default, undoHistoryRegistry, editorOperationsFactoryService, completionService) as ICommandHandler<OpenLineAboveCommandArgs>;
......@@ -84,9 +85,9 @@ protected void VerifyOpenLineAbove(string initialMarkup, string expectedMarkup,
});
}
protected void VerifyOpenLineBelow(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
protected async Task VerifyOpenLineBelowAsync(string initialMarkup, string expectedMarkup, bool useTabs = false, bool autoGenerateXmlDocComments = true)
{
Verify(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
await VerifyAsync(initialMarkup, expectedMarkup, useTabs, autoGenerateXmlDocComments,
execute: (view, undoHistoryRegistry, editorOperationsFactoryService, completionService) =>
{
var commandHandler = CreateCommandHandler(TestWaitIndicator.Default, undoHistoryRegistry, editorOperationsFactoryService, completionService) as ICommandHandler<OpenLineBelowCommandArgs>;
......@@ -112,10 +113,10 @@ private Action CreateInsertTextHandler(ITextView textView, string text)
};
}
private void Verify(string initialMarkup, string expectedMarkup, bool useTabs, bool autoGenerateXmlDocComments,
private async Task VerifyAsync(string initialMarkup, string expectedMarkup, bool useTabs, bool autoGenerateXmlDocComments,
Action<IWpfTextView, ITextUndoHistoryRegistry, IEditorOperationsFactoryService, IAsyncCompletionService> execute)
{
using (var workspace = CreateTestWorkspace(initialMarkup))
using (var workspace = await CreateTestWorkspaceAsync(initialMarkup))
{
var testDocument = workspace.Documents.Single();
......
......@@ -2,6 +2,7 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Commands;
using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces;
using Microsoft.VisualStudio.Text;
......@@ -15,11 +16,11 @@ namespace Microsoft.CodeAnalysis.Editor.UnitTests.DocumentationComments
public abstract class AbstractXmlTagCompletionTests
{
internal abstract ICommandHandler<TypeCharCommandArgs> CreateCommandHandler(ITextUndoHistoryRegistry undoHistory);
protected abstract TestWorkspace CreateTestWorkspace(string initialMarkup);
protected abstract Task<TestWorkspace> CreateTestWorkspaceAsync(string initialMarkup);
public void Verify(string initialMarkup, string expectedMarkup, char typeChar)
public async Task VerifyAsync(string initialMarkup, string expectedMarkup, char typeChar)
{
using (var workspace = CreateTestWorkspace(initialMarkup))
using (var workspace = await CreateTestWorkspaceAsync(initialMarkup))
{
var testDocument = workspace.Documents.Single();
var view = testDocument.GetTextView();
......
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.Commands;
using Microsoft.CodeAnalysis.Editor.Implementation.FindReferences;
using Microsoft.CodeAnalysis.Editor.Navigation;
......@@ -20,9 +21,9 @@ namespace Microsoft.CodeAnalysis.Editor.UnitTests.FindReferences
public class FindReferencesCommandHandlerTests
{
[WpfFact, Trait(Traits.Feature, Traits.Features.FindReferences)]
public void TestFindReferencesSynchronousCall()
public async Task TestFindReferencesSynchronousCall()
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines("class C { C() { new C(); } }"))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync("class C { C() { new C(); } }"))
{
var findReferencesPresenter = new MockReferencedSymbolsPresenter();
......
......@@ -183,7 +183,7 @@ public void TestPreviewDiagnostic()
[WpfFact]
public async Task TestPreviewDiagnosticTagger()
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines("class { }"))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync("class { }"))
using (var previewWorkspace = new PreviewWorkspace(workspace.CurrentSolution))
{
//// preview workspace and owner of the solution now share solution and its underlying text buffer
......@@ -200,7 +200,7 @@ public async Task TestPreviewDiagnosticTagger()
[WpfFact]
public async Task TestPreviewDiagnosticTaggerInPreviewPane()
{
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines("class { }"))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync("class { }"))
{
// set up listener to wait until diagnostic finish running
var diagnosticService = workspace.ExportProvider.GetExportedValue<IDiagnosticService>() as DiagnosticService;
......
......@@ -2,6 +2,7 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces;
using Microsoft.CodeAnalysis.Text;
using Microsoft.VisualStudio.Text;
......@@ -14,11 +15,11 @@ public class TryGetDocumentTests
{
[WpfFact]
[WorkItem(624315)]
public void MultipleTextChangesTest()
public async Task MultipleTextChangesTest()
{
var code = @"class C
";
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(code))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(code))
{
var hostDocument = workspace.Documents.First();
var document = workspace.CurrentSolution.GetDocument(workspace.GetDocumentId(hostDocument));
......@@ -45,10 +46,10 @@ public void MultipleTextChangesTest()
}
[WpfFact]
public void EmptyTextChanges()
public async Task EmptyTextChanges()
{
var code = @"class C";
using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines(code))
using (var workspace = await CSharpWorkspaceFactory.CreateWorkspaceFromLinesAsync(code))
{
var hostDocument = workspace.Documents.First();
var document = workspace.CurrentSolution.GetDocument(workspace.GetDocumentId(hostDocument));
......
......@@ -15,11 +15,6 @@ public partial class CSharpWorkspaceFactory : TestWorkspaceFactory
/// Creates a single buffer in a workspace.
/// </summary>
/// <param name="lines">Lines of text, the buffer contents</param>
public static TestWorkspace CreateWorkspaceFromLines(params string[] lines)
{
return CreateWorkspaceFromLinesAsync(lines).WaitAndGetResult(CancellationToken.None);
}
public static Task<TestWorkspace> CreateWorkspaceFromLinesAsync(params string[] lines)
{
return CreateWorkspaceFromLinesAsync(lines, parseOptions: null, compilationOptions: null, exportProvider: null);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册