提交 0152e511 编写于 作者: R Ravi Chande

Fix tests

上级 4fc778fc
......@@ -31,20 +31,21 @@ internal override CompletionProvider CreateCompletionProvider()
public async void NameWithOnlyType1()
{
var markup = @"
public class C
public class MyClass
{
C $$
MyClass $$
}
";
await VerifyItemExistsAsync(markup, "C", glyph: (int)Glyph.PropertyPublic);
await VerifyItemExistsAsync(markup, "c", glyph: (int)Glyph.FieldPublic);
await VerifyItemExistsAsync(markup, "GetC", glyph: (int)Glyph.MethodPublic);
await VerifyItemExistsAsync(markup, "MyClass", glyph: (int)Glyph.MethodPublic);
await VerifyItemExistsAsync(markup, "myClass", glyph: (int)Glyph.FieldPublic);
await VerifyItemExistsAsync(markup, "GetMyClass", glyph: (int)Glyph.MethodPublic);
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
public async void AsyncTaskOfT()
{
var markup = @"
using System.Threading.Tasks;
public class C
{
async Task<C> $$
......@@ -53,7 +54,7 @@ public class C
await VerifyItemExistsAsync(markup, "GetCAsync");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
[Fact(Skip = "not yet implemented"), Trait(Traits.Feature, Traits.Features.Completion)]
public async void NonAsyncTaskOfT()
{
var markup = @"
......@@ -104,7 +105,7 @@ public class C
I $$
}
";
await VerifyItemExistsAsync(markup, "I");
await VerifyItemExistsAsync(markup, "GetI");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
......@@ -117,7 +118,7 @@ public class C
II $$
}
";
await VerifyItemExistsAsync(markup, "I");
await VerifyItemExistsAsync(markup, "GetI");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
......@@ -137,21 +138,21 @@ public class C
public async void WordBreaking5()
{
var markup = @"
class AWonderfullyLongClassName {}
class SomeWonderfullyLongClassName {}
public class C
{
AWonderfullyLongClassName $$
SomeWonderfullyLongClassName $$
}
";
await VerifyItemExistsAsync(markup, "A");
await VerifyItemExistsAsync(markup, "AWonderfully");
await VerifyItemExistsAsync(markup, "AWonderfullyLong");
await VerifyItemExistsAsync(markup, "AWonderfullyLongClass");
await VerifyItemExistsAsync(markup, "Some");
await VerifyItemExistsAsync(markup, "SomeWonderfully");
await VerifyItemExistsAsync(markup, "SomeWonderfullyLong");
await VerifyItemExistsAsync(markup, "SomeWonderfullyLongClass");
await VerifyItemExistsAsync(markup, "Name");
await VerifyItemExistsAsync(markup, "ClassName");
await VerifyItemExistsAsync(markup, "LongClassName");
await VerifyItemExistsAsync(markup, "WonderfullyLongClassName");
await VerifyItemExistsAsync(markup, "AWonderfullyLongClassName");
await VerifyItemExistsAsync(markup, "SomeWonderfullyLongClassName");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
......@@ -371,7 +372,8 @@ public class C
C $$
}
";
await VerifyNoItemsExistAsync(markup);
await VerifyItemIsAbsentAsync(markup, "C");
await VerifyItemIsAbsentAsync(markup, "c");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
......@@ -379,12 +381,12 @@ public async void ArrayElementTypeSuggested()
{
var markup = @"
using System.Threading;
public class C
public class MyClass
{
C[] $$
MyClass[] $$
}
";
await VerifyItemExistsAsync(markup, "C");
await VerifyItemExistsAsync(markup, "MyClass");
await VerifyItemIsAbsentAsync(markup, "Array");
}
......@@ -421,7 +423,7 @@ public class C
System.Collections.Generic.IEnumerable<C> $$
}
";
await VerifyItemExistsAsync(markup, "C");
await VerifyItemExistsAsync(markup, "GetC");
}
[Fact, Trait(Traits.Feature, Traits.Features.Completion)]
......
......@@ -30,7 +30,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Field, SymbolKind.Method, SymbolKind.Property);
await VerifyNoModifiers(markup);
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -45,7 +45,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Field, SymbolKind.Method, SymbolKind.Property);
await VerifyNoModifiers(markup);
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.Public);
}
......@@ -60,7 +60,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Method, SymbolKind.Property);
await VerifyModifiers(markup, new DeclarationModifiers(isVirtual: true));
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.Public);
}
......@@ -75,7 +75,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Field, SymbolKind.Method, SymbolKind.Property);
await VerifyModifiers(markup, new DeclarationModifiers(isStatic: true));
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.Private);
}
......@@ -90,7 +90,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Field);
await VerifyModifiers(markup, new DeclarationModifiers(isConst: true));
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.Private);
}
......@@ -108,7 +108,7 @@ void foo()
";
await VerifySymbolKinds(markup, SymbolKind.Local);
await VerifyModifiers(markup, new DeclarationModifiers());
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -126,7 +126,7 @@ void foo()
";
await VerifySymbolKinds(markup, SymbolKind.Local);
await VerifyModifiers(markup, new DeclarationModifiers());
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -144,7 +144,7 @@ void foo()
";
await VerifySymbolKinds(markup, SymbolKind.Local);
await VerifyModifiers(markup, new DeclarationModifiers(isReadOnly: true));
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -162,7 +162,7 @@ void foo()
";
await VerifySymbolKinds(markup, SymbolKind.Local);
await VerifyModifiers(markup, new DeclarationModifiers(isReadOnly: true));
await VerifyTypeName(markup, "global::System.Int32");
await VerifyTypeName(markup, "int");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -210,7 +210,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Parameter);
await VerifyModifiers(markup, new DeclarationModifiers());
await VerifyTypeName(markup, "global::System.String");
await VerifyTypeName(markup, "string");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -226,7 +226,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Parameter);
await VerifyModifiers(markup, new DeclarationModifiers());
await VerifyTypeName(markup, "global::System.String");
await VerifyTypeName(markup, "string");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......@@ -243,7 +243,7 @@ class C
";
await VerifySymbolKinds(markup, SymbolKind.Parameter);
await VerifyModifiers(markup, new DeclarationModifiers());
await VerifyTypeName(markup, "global::System.Collections.Generic.List");
await VerifyTypeName(markup, "global::System.Collections.Generic.List<string>");
await VerifyAccessibility(markup, Accessibility.NotApplicable);
}
......
......@@ -107,7 +107,7 @@ internal static async Task<NameDeclarationInfo> GetDeclarationInfo(Document docu
Func<DeclarationModifiers, ImmutableArray<SymbolKind>> possibleDeclarationComputer,
CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
{
if (!IsValidToken(token))
if (!IsPossibleTypeToken(token) && !token.IsKind(SyntaxKind.CommaToken))
{
return default(NameDeclarationInfo);
}
......@@ -151,7 +151,7 @@ internal static async Task<NameDeclarationInfo> GetDeclarationInfo(Document docu
Func<DeclarationModifiers, ImmutableArray<SymbolKind>> possibleDeclarationComputer,
CancellationToken cancellationToken) where TSyntaxNode : SyntaxNode
{
if (!IsValidToken(token))
if (!IsPossibleTypeToken(token))
{
return default(NameDeclarationInfo);
}
......@@ -245,7 +245,7 @@ internal static async Task<NameDeclarationInfo> GetDeclarationInfo(Document docu
return result.Type != null;
}
private static bool IsValidToken(SyntaxToken token) =>
private static bool IsPossibleTypeToken(SyntaxToken token) =>
token.IsKind(
SyntaxKind.IdentifierToken,
SyntaxKind.GreaterThanToken,
......
......@@ -68,7 +68,12 @@ private bool IsValidType(ITypeSymbol type)
return false;
}
return type.SpecialType != SpecialType.System_Void;
if (type.SpecialType == SpecialType.System_Void)
{
return false;
}
return !type.IsSpecialType();
}
private Glyph GetGlyph(SymbolKind kind, Accessibility declaredAccessibility)
......@@ -140,7 +145,7 @@ private ITypeSymbol UnwrapType(ITypeSymbol type, Compilation compilation)
var taskOfTType = compilation.GetTypeByMetadataName("System.Threading.Tasks.Task`1");
var valueTaskType = compilation.GetTypeByMetadataName("System.Threading.Tasks.ValueTask`1");
if (originalDefinition == taskOfTType
|| originalDefinition == valueTaskType )
|| originalDefinition == valueTaskType)
{
return UnwrapType(namedType.TypeArguments[0], compilation);
}
......@@ -149,10 +154,10 @@ private ITypeSymbol UnwrapType(ITypeSymbol type, Compilation compilation)
return type;
}
private async Task <IEnumerable<(string, SymbolKind)>> GetRecommendedNamesAsync(
IEnumerable<IEnumerable<string>> baseNames,
NameDeclarationInfo declarationInfo,
CSharpSyntaxContext context,
private async Task<IEnumerable<(string, SymbolKind)>> GetRecommendedNamesAsync(
IEnumerable<IEnumerable<string>> baseNames,
NameDeclarationInfo declarationInfo,
CSharpSyntaxContext context,
Document document,
CancellationToken cancellationToken)
{
......@@ -171,7 +176,7 @@ private ITypeSymbol UnwrapType(ITypeSymbol type, Compilation compilation)
foreach (var baseName in baseNames)
{
var name = rule.NamingStyle.CreateName(baseName);
if (!result.ContainsKey(name)) // Don't add multiple items for the same name
if (name.Length > 1 && !result.ContainsKey(name)) // Don't add multiple items for the same name
{
result.Add(name, symbolKind);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册