提交 96a5df5b 编写于 作者: D Daniel Rosenwasser

Just use an empty sequence to indicate no signature help was provided.

上级 437fbaa0
......@@ -6,6 +6,7 @@
using Roslyn.Test.Utilities;
using Xunit;
using Microsoft.CodeAnalysis.CSharp;
using System.Linq;
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.SignatureHelp
{
......@@ -918,7 +919,7 @@ void Foo(int a)
Foo(/*,$$*/);
}
}";
Test(markup, usePreviousCharAsTrigger: true, expectSuccess: false);
Test(markup, Enumerable.Empty<SignatureHelpTestItem>(), usePreviousCharAsTrigger: true);
}
[Fact, Trait(Traits.Feature, Traits.Features.SignatureHelp)]
......@@ -933,7 +934,7 @@ void Foo(int a)
);
}
}";
Test(markup, usePreviousCharAsTrigger: true, expectSuccess: false);
Test(markup, Enumerable.Empty<SignatureHelpTestItem>(), usePreviousCharAsTrigger: true);
}
[Fact, Trait(Traits.Feature, Traits.Features.SignatureHelp)]
......@@ -947,7 +948,7 @@ void Foo(int a)
Foo("",$$"");
}
}";
Test(markup, usePreviousCharAsTrigger: true, expectSuccess: false);
Test(markup, Enumerable.Empty<SignatureHelpTestItem>(), usePreviousCharAsTrigger: true);
}
[Fact, Trait(Traits.Feature, Traits.Features.SignatureHelp)]
......
......@@ -46,17 +46,16 @@ public void SetFixture(TWorkspaceFixture workspaceFixture)
IEnumerable<SignatureHelpTestItem> expectedOrderedItemsOrNull = null,
bool usePreviousCharAsTrigger = false,
SourceCodeKind? sourceCodeKind = null,
bool experimental = false,
bool expectSuccess = true)
bool experimental = false)
{
if (sourceCodeKind.HasValue)
{
TestSignatureHelpWorker(markup, sourceCodeKind.Value, experimental, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, expectSuccess);
TestSignatureHelpWorker(markup, sourceCodeKind.Value, experimental, expectedOrderedItemsOrNull, usePreviousCharAsTrigger);
}
else
{
TestSignatureHelpWorker(markup, SourceCodeKind.Regular, experimental, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, expectSuccess);
TestSignatureHelpWorker(markup, SourceCodeKind.Script, experimental, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, expectSuccess);
TestSignatureHelpWorker(markup, SourceCodeKind.Regular, experimental, expectedOrderedItemsOrNull, usePreviousCharAsTrigger);
TestSignatureHelpWorker(markup, SourceCodeKind.Script, experimental, expectedOrderedItemsOrNull, usePreviousCharAsTrigger);
}
}
......@@ -65,8 +64,7 @@ public void SetFixture(TWorkspaceFixture workspaceFixture)
SourceCodeKind sourceCodeKind,
bool experimental,
IEnumerable<SignatureHelpTestItem> expectedOrderedItemsOrNull = null,
bool usePreviousCharAsTrigger = false,
bool expectSuccess = true)
bool usePreviousCharAsTrigger = false)
{
markupWithPositionAndOptSpan = markupWithPositionAndOptSpan.NormalizeLineEndings();
......@@ -94,7 +92,7 @@ public void SetFixture(TWorkspaceFixture workspaceFixture)
document1 = document1.Project.WithParseOptions(parseOptions).GetDocument(document1.Id);
}
TestSignatureHelpWorkerShared(code, cursorPosition, sourceCodeKind, document1, textSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, expectSuccess);
TestSignatureHelpWorkerShared(code, cursorPosition, sourceCodeKind, document1, textSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger);
// speculative semantic model
if (CanUseSpeculativeSemanticModel(document1, cursorPosition))
......@@ -105,7 +103,7 @@ public void SetFixture(TWorkspaceFixture workspaceFixture)
document2 = document2.Project.WithParseOptions(parseOptions).GetDocument(document2.Id);
}
TestSignatureHelpWorkerShared(code, cursorPosition, sourceCodeKind, document2, textSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, expectSuccess);
TestSignatureHelpWorkerShared(code, cursorPosition, sourceCodeKind, document2, textSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger);
}
}
......@@ -381,8 +379,7 @@ protected void VerifyItemWithReferenceWorker(string xmlString, IEnumerable<Signa
Document document,
TextSpan? textSpan,
IEnumerable<SignatureHelpTestItem> expectedOrderedItemsOrNull = null,
bool usePreviousCharAsTrigger = false,
bool expectSuccess = true)
bool usePreviousCharAsTrigger = false)
{
var signatureHelpProvider = CreateSignatureHelpProvider();
var triggerInfo = new SignatureHelpTriggerInfo(SignatureHelpTriggerReason.InvokeSignatureHelpCommand);
......@@ -401,12 +398,6 @@ protected void VerifyItemWithReferenceWorker(string xmlString, IEnumerable<Signa
var items = signatureHelpProvider.GetItemsAsync(document, cursorPosition, triggerInfo, CancellationToken.None).Result;
if (!expectSuccess)
{
AssertEx.Null(items);
return;
}
// If we're expecting 0 items, then there's no need to compare them
if ((expectedOrderedItemsOrNull == null || !expectedOrderedItemsOrNull.Any()) && items == null)
{
......
......@@ -11,11 +11,11 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.SignatureHelp
' We want to skip script testing in all VB stuff for now.
Protected Overrides Sub Test(markupWithPositionAndOptSpan As String, Optional expectedOrderedItemsOrNull As IEnumerable(Of SignatureHelpTestItem) = Nothing, Optional usePreviousCharAsTrigger As Boolean = False, Optional sourceCodeKind As Microsoft.CodeAnalysis.SourceCodeKind? = Nothing, Optional experimental As Boolean = False, Optional expectSuccess As Boolean = True)
Protected Overrides Sub Test(markupWithPositionAndOptSpan As String, Optional expectedOrderedItemsOrNull As IEnumerable(Of SignatureHelpTestItem) = Nothing, Optional usePreviousCharAsTrigger As Boolean = False, Optional sourceCodeKind As Microsoft.CodeAnalysis.SourceCodeKind? = Nothing, Optional experimental As Boolean = False)
If (sourceCodeKind.HasValue) Then
MyBase.Test(markupWithPositionAndOptSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, sourceCodeKind, experimental, expectSuccess)
MyBase.Test(markupWithPositionAndOptSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, sourceCodeKind, experimental)
Else
MyBase.Test(markupWithPositionAndOptSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, Microsoft.CodeAnalysis.SourceCodeKind.Regular, experimental, expectSuccess)
MyBase.Test(markupWithPositionAndOptSpan, expectedOrderedItemsOrNull, usePreviousCharAsTrigger, Microsoft.CodeAnalysis.SourceCodeKind.Regular, experimental)
End If
End Sub
......
......@@ -983,7 +983,7 @@ Class C
End Sub
End Class
"
Test(markup, usePreviousCharAsTrigger:=True, expectSuccess:=False)
Test(markup, Enumerable.Empty(Of SignatureHelpTestItem)(), usePreviousCharAsTrigger:=True)
End Sub
<Fact, Trait(Traits.Feature, Traits.Features.SignatureHelp)>
......@@ -995,7 +995,7 @@ Class C
End Sub
End Class
"
Test(markup, usePreviousCharAsTrigger:=True, expectSuccess:=False)
Test(markup, Enumerable.Empty(Of SignatureHelpTestItem)(), usePreviousCharAsTrigger:=True)
End Sub
<Fact, Trait(Traits.Feature, Traits.Features.SignatureHelp)>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册