Index: pkg/analysis_server/test/services/completion/keyword_computer_test.dart |
diff --git a/pkg/analysis_server/test/services/completion/keyword_computer_test.dart b/pkg/analysis_server/test/services/completion/keyword_computer_test.dart |
index d0bf83f3f1b9d785cf5eabc1a1b4052c2e1b9d25..e044d9f55d4c16cca6d08de846e5202e51f79444 100644 |
--- a/pkg/analysis_server/test/services/completion/keyword_computer_test.dart |
+++ b/pkg/analysis_server/test/services/completion/keyword_computer_test.dart |
@@ -20,48 +20,48 @@ main() { |
@reflectiveTest |
class KeywordComputerTest extends AbstractCompletionTest { |
- static const List<Keyword> IN_BLOCK_IN_CLASS = |
- const [ |
- Keyword.ASSERT, |
- Keyword.CASE, |
- Keyword.CONTINUE, |
- Keyword.DO, |
- Keyword.FINAL, |
- Keyword.FOR, |
- Keyword.IF, |
- Keyword.NEW, |
- Keyword.RETHROW, |
- Keyword.RETURN, |
- Keyword.SUPER, |
- Keyword.SWITCH, |
- Keyword.THIS, |
- Keyword.THROW, |
- Keyword.TRY, |
- Keyword.VAR, |
- Keyword.VOID, |
- Keyword.WHILE]; |
- |
- static const List<Keyword> IN_BLOCK_NOT_IN_CLASS = |
- const [ |
- Keyword.ASSERT, |
- Keyword.CASE, |
- Keyword.CONTINUE, |
- Keyword.DO, |
- Keyword.FINAL, |
- Keyword.FOR, |
- Keyword.IF, |
- Keyword.NEW, |
- Keyword.RETHROW, |
- Keyword.RETURN, |
- Keyword.SWITCH, |
- Keyword.THROW, |
- Keyword.TRY, |
- Keyword.VAR, |
- Keyword.VOID, |
- Keyword.WHILE]; |
- |
- void assertSuggestKeywords(Iterable<Keyword> expectedKeywords, [int relevance |
- = DART_RELEVANCE_KEYWORD]) { |
+ static const List<Keyword> IN_BLOCK_IN_CLASS = const [ |
+ Keyword.ASSERT, |
+ Keyword.CASE, |
+ Keyword.CONTINUE, |
+ Keyword.DO, |
+ Keyword.FINAL, |
+ Keyword.FOR, |
+ Keyword.IF, |
+ Keyword.NEW, |
+ Keyword.RETHROW, |
+ Keyword.RETURN, |
+ Keyword.SUPER, |
+ Keyword.SWITCH, |
+ Keyword.THIS, |
+ Keyword.THROW, |
+ Keyword.TRY, |
+ Keyword.VAR, |
+ Keyword.VOID, |
+ Keyword.WHILE |
+ ]; |
+ |
+ static const List<Keyword> IN_BLOCK_NOT_IN_CLASS = const [ |
+ Keyword.ASSERT, |
+ Keyword.CASE, |
+ Keyword.CONTINUE, |
+ Keyword.DO, |
+ Keyword.FINAL, |
+ Keyword.FOR, |
+ Keyword.IF, |
+ Keyword.NEW, |
+ Keyword.RETHROW, |
+ Keyword.RETURN, |
+ Keyword.SWITCH, |
+ Keyword.THROW, |
+ Keyword.TRY, |
+ Keyword.VAR, |
+ Keyword.VOID, |
+ Keyword.WHILE |
+ ]; |
+ |
+ void assertSuggestKeywords(Iterable<Keyword> expectedKeywords, |
+ [int relevance = DART_RELEVANCE_KEYWORD]) { |
Set<Keyword> actualKeywords = new Set<Keyword>(); |
request.suggestions.forEach((CompletionSuggestion s) { |
if (s.kind == CompletionSuggestionKind.KEYWORD) { |
@@ -107,119 +107,112 @@ class KeywordComputerTest extends AbstractCompletionTest { |
test_after_class() { |
addTestSource('class A {} ^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.FINAL, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.FINAL, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_after_class2() { |
addTestSource('class A {} c^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.FINAL, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.FINAL, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_after_import() { |
addTestSource('import foo; ^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_after_import2() { |
addTestSource('import foo; c^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_before_import() { |
addTestSource('^ import foo;'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [Keyword.EXPORT, Keyword.IMPORT, Keyword.LIBRARY, Keyword.PART], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.EXPORT, |
+ Keyword.IMPORT, |
+ Keyword.LIBRARY, |
+ Keyword.PART |
+ ], DART_RELEVANCE_HIGH); |
} |
test_class() { |
addTestSource('class A ^'); |
expect(computeFast(), isTrue); |
assertSuggestKeywords( |
- [Keyword.EXTENDS, Keyword.IMPLEMENTS], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.EXTENDS, Keyword.IMPLEMENTS], DART_RELEVANCE_HIGH); |
} |
test_class2() { |
addTestSource('class A e^'); |
expect(computeFast(), isTrue); |
assertSuggestKeywords( |
- [Keyword.EXTENDS, Keyword.IMPLEMENTS], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.EXTENDS, Keyword.IMPLEMENTS], DART_RELEVANCE_HIGH); |
} |
test_class3() { |
addTestSource('class A e^ { }'); |
expect(computeFast(), isTrue); |
assertSuggestKeywords( |
- [Keyword.EXTENDS, Keyword.IMPLEMENTS], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.EXTENDS, Keyword.IMPLEMENTS], DART_RELEVANCE_HIGH); |
} |
test_class_extends() { |
addTestSource('class A extends foo ^'); |
expect(computeFast(), isTrue); |
assertSuggestKeywords( |
- [Keyword.IMPLEMENTS, Keyword.WITH], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.IMPLEMENTS, Keyword.WITH], DART_RELEVANCE_HIGH); |
} |
test_class_extends2() { |
addTestSource('class A extends foo i^'); |
expect(computeFast(), isTrue); |
assertSuggestKeywords( |
- [Keyword.IMPLEMENTS, Keyword.WITH], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.IMPLEMENTS, Keyword.WITH], DART_RELEVANCE_HIGH); |
} |
test_class_extends3() { |
addTestSource('class A extends foo i^ { }'); |
expect(computeFast(), isTrue); |
assertSuggestKeywords( |
- [Keyword.IMPLEMENTS, Keyword.WITH], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.IMPLEMENTS, Keyword.WITH], DART_RELEVANCE_HIGH); |
} |
test_class_extends_name() { |
@@ -239,8 +232,7 @@ class KeywordComputerTest extends AbstractCompletionTest { |
expect(computeFast(), isTrue); |
// TODO (danrubel) refinement: don't suggest implements |
assertSuggestKeywords( |
- [Keyword.EXTENDS, Keyword.IMPLEMENTS], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.EXTENDS, Keyword.IMPLEMENTS], DART_RELEVANCE_HIGH); |
} |
test_class_implements3() { |
@@ -248,8 +240,7 @@ class KeywordComputerTest extends AbstractCompletionTest { |
expect(computeFast(), isTrue); |
// TODO (danrubel) refinement: don't suggest implements |
assertSuggestKeywords( |
- [Keyword.EXTENDS, Keyword.IMPLEMENTS], |
- DART_RELEVANCE_HIGH); |
+ [Keyword.EXTENDS, Keyword.IMPLEMENTS], DART_RELEVANCE_HIGH); |
} |
test_class_implements_name() { |
@@ -291,19 +282,18 @@ class KeywordComputerTest extends AbstractCompletionTest { |
test_empty() { |
addTestSource('^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.LIBRARY, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.LIBRARY, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_function_body_inClass_constructorInitializer() { |
@@ -369,35 +359,34 @@ class A { |
test_in_class() { |
addTestSource('class A {^}'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.CONST, |
- Keyword.DYNAMIC, |
- Keyword.FACTORY, |
- Keyword.FINAL, |
- Keyword.GET, |
- Keyword.OPERATOR, |
- Keyword.SET, |
- Keyword.STATIC, |
- Keyword.VAR, |
- Keyword.VOID]); |
+ assertSuggestKeywords([ |
+ Keyword.CONST, |
+ Keyword.DYNAMIC, |
+ Keyword.FACTORY, |
+ Keyword.FINAL, |
+ Keyword.GET, |
+ Keyword.OPERATOR, |
+ Keyword.SET, |
+ Keyword.STATIC, |
+ Keyword.VAR, |
+ Keyword.VOID |
+ ]); |
} |
test_library() { |
addTestSource('library foo;^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_library_name() { |
@@ -421,53 +410,50 @@ class A { |
test_part_of() { |
addTestSource('part of foo;^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_partial_class() { |
addTestSource('cl^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.LIBRARY, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.LIBRARY, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
test_partial_class2() { |
addTestSource('library a; cl^'); |
expect(computeFast(), isTrue); |
- assertSuggestKeywords( |
- [ |
- Keyword.ABSTRACT, |
- Keyword.CLASS, |
- Keyword.CONST, |
- Keyword.EXPORT, |
- Keyword.FINAL, |
- Keyword.IMPORT, |
- Keyword.PART, |
- Keyword.TYPEDEF, |
- Keyword.VAR], |
- DART_RELEVANCE_HIGH); |
+ assertSuggestKeywords([ |
+ Keyword.ABSTRACT, |
+ Keyword.CLASS, |
+ Keyword.CONST, |
+ Keyword.EXPORT, |
+ Keyword.FINAL, |
+ Keyword.IMPORT, |
+ Keyword.PART, |
+ Keyword.TYPEDEF, |
+ Keyword.VAR |
+ ], DART_RELEVANCE_HIGH); |
} |
void _appendKeywords(StringBuffer msg, Iterable<Keyword> keywords) { |