Index: pkg/analysis_services/test/completion/completion_test_util.dart |
diff --git a/pkg/analysis_services/test/completion/completion_test_util.dart b/pkg/analysis_services/test/completion/completion_test_util.dart |
deleted file mode 100644 |
index b05d45a508e758c1d946769f885fcb231bf1ae70..0000000000000000000000000000000000000000 |
--- a/pkg/analysis_services/test/completion/completion_test_util.dart |
+++ /dev/null |
@@ -1,208 +0,0 @@ |
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library test.services.completion.util; |
- |
-import 'dart:async'; |
- |
-import 'package:analysis_services/completion/completion_suggestion.dart'; |
-import 'package:analysis_services/index/index.dart'; |
-import 'package:analysis_services/index/local_memory_index.dart'; |
-import 'package:analysis_services/src/completion/dart_completion_manager.dart'; |
-import 'package:analysis_services/src/search/search_engine.dart'; |
-import 'package:analysis_testing/abstract_context.dart'; |
-import 'package:analysis_testing/mock_sdk.dart'; |
-import 'package:analyzer/src/generated/ast.dart'; |
-import 'package:analyzer/src/generated/element.dart'; |
-import 'package:analyzer/src/generated/engine.dart'; |
-import 'package:analyzer/src/generated/source.dart'; |
-import 'package:unittest/unittest.dart'; |
- |
-class AbstractCompletionTest extends AbstractContextTest { |
- Index index; |
- SearchEngineImpl searchEngine; |
- DartCompletionComputer computer; |
- String testFile = '/completionTest.dart'; |
- Source testSource; |
- int completionOffset; |
- bool _computeFastCalled = false; |
- DartCompletionRequest request; |
- |
- void addResolvedUnit(String file, String code) { |
- Source source = addSource(file, code); |
- CompilationUnit unit = resolveLibraryUnit(source); |
- index.indexUnit(context, unit); |
- } |
- |
- void addTestSource(String content) { |
- expect(completionOffset, isNull, reason: 'Call addTestUnit exactly once'); |
- completionOffset = content.indexOf('^'); |
- expect(completionOffset, isNot(equals(-1)), reason: 'missing ^'); |
- int nextOffset = content.indexOf('^', completionOffset + 1); |
- expect(nextOffset, equals(-1), reason: 'too many ^'); |
- content = content.substring(0, completionOffset) + |
- content.substring(completionOffset + 1); |
- testSource = addSource(testFile, content); |
- request = new DartCompletionRequest( |
- context, |
- searchEngine, |
- testSource, |
- completionOffset); |
- } |
- |
- void assertNotSuggested(String completion) { |
- if (request.suggestions.any((cs) => cs.completion == completion)) { |
- fail('did not expect completion: $completion'); |
- } |
- } |
- |
- void assertSuggest(CompletionSuggestionKind kind, String completion, |
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT, bool isDeprecated |
- = false, bool isPotential = false]) { |
- CompletionSuggestion cs; |
- request.suggestions.forEach((s) { |
- if (s.completion == completion) { |
- if (cs == null) { |
- cs = s; |
- } else { |
- List<CompletionSuggestion> matchSuggestions = |
- request.suggestions.where((s) => s.completion == completion).toList(); |
- fail( |
- 'expected exactly one $completion but found > 1\n $matchSuggestions'); |
- } |
- } |
- }); |
- if (cs == null) { |
- List<CompletionSuggestion> completions = |
- request.suggestions.map((s) => s.completion).toList(); |
- fail('expected "$completion" but found\n $completions'); |
- } |
- expect(cs.kind, equals(kind)); |
- expect(cs.relevance, equals(relevance)); |
- expect(cs.selectionOffset, equals(completion.length)); |
- expect(cs.selectionLength, equals(0)); |
- expect(cs.isDeprecated, equals(isDeprecated)); |
- expect(cs.isPotential, equals(isPotential)); |
- } |
- |
- void assertSuggestClass(String className, [CompletionRelevance relevance = |
- CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.CLASS, className, relevance); |
- } |
- |
- void assertSuggestField(String completion, [CompletionRelevance relevance = |
- CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.FIELD, completion, relevance); |
- } |
- |
- void assertSuggestFunction(String completion, [CompletionRelevance relevance = |
- CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.FUNCTION, completion, relevance); |
- } |
- |
- void assertSuggestGetter(String className, [CompletionRelevance relevance = |
- CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.GETTER, className, relevance); |
- } |
- |
- void assertSuggestLibraryPrefix(String completion, |
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { |
- assertSuggest( |
- CompletionSuggestionKind.LIBRARY_PREFIX, |
- completion, |
- relevance); |
- } |
- |
- void assertSuggestLocalVariable(String completion, |
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { |
- assertSuggest( |
- CompletionSuggestionKind.LOCAL_VARIABLE, |
- completion, |
- relevance); |
- } |
- |
- void assertSuggestMethod(String className, [CompletionRelevance relevance = |
- CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.METHOD, className, relevance); |
- } |
- |
- void assertSuggestMethodName(String completion, [CompletionRelevance relevance |
- = CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.METHOD_NAME, completion, relevance); |
- } |
- |
- void assertSuggestParameter(String completion, [CompletionRelevance relevance |
- = CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.PARAMETER, completion, relevance); |
- } |
- |
- void assertSuggestSetter(String className, [CompletionRelevance relevance = |
- CompletionRelevance.DEFAULT]) { |
- assertSuggest(CompletionSuggestionKind.SETTER, className, relevance); |
- } |
- |
- void assertSuggestTopLevelVar(String completion, |
- [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { |
- assertSuggest( |
- CompletionSuggestionKind.TOP_LEVEL_VARIABLE, |
- completion, |
- relevance); |
- } |
- |
- bool computeFast() { |
- _computeFastCalled = true; |
- CompilationUnit unit = context.parseCompilationUnit(testSource); |
- request.unit = unit; |
- request.node = new NodeLocator.con1(completionOffset).searchWithin(unit); |
- return computer.computeFast(request); |
- } |
- |
- Future<bool> computeFull([bool fullAnalysis = false]) { |
- if (!_computeFastCalled) { |
- expect(computeFast(), isFalse); |
- } |
- var result = context.performAnalysisTask(); |
- bool resolved = false; |
- while (result.hasMoreWork) { |
- |
- // Update the index |
- result.changeNotices.forEach((ChangeNotice notice) { |
- CompilationUnit unit = notice.compilationUnit; |
- if (unit != null) { |
- index.indexUnit(context, unit); |
- } |
- }); |
- |
- // If the unit has been resolved, then finish the completion |
- LibraryElement library = context.getLibraryElement(testSource); |
- if (library != null) { |
- CompilationUnit unit = |
- context.getResolvedCompilationUnit(testSource, library); |
- if (unit != null) { |
- request.unit = unit; |
- request.node = new NodeLocator.con1( |
- completionOffset).searchWithin(unit); |
- resolved = true; |
- if (!fullAnalysis) { |
- break; |
- } |
- } |
- } |
- |
- result = context.performAnalysisTask(); |
- } |
- if (!resolved) { |
- fail('expected unit to be resolved'); |
- } |
- return computer.computeFull(request); |
- } |
- |
- @override |
- void setUp() { |
- super.setUp(); |
- index = createLocalMemoryIndex(); |
- searchEngine = new SearchEngineImpl(index); |
- addResolvedUnit(MockSdk.LIB_CORE.path, MockSdk.LIB_CORE.content); |
- } |
-} |