| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library test.services.completion.suggestion; | 5 library test.services.completion.suggestion; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 9 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
| 10 import 'package:analysis_server/src/analysis_server.dart'; | |
| 11 import 'package:analysis_server/src/provisional/completion/completion_core.dart' | 10 import 'package:analysis_server/src/provisional/completion/completion_core.dart' |
| 12 show CompletionRequest, CompletionResult; | 11 show CompletionRequest, CompletionResult; |
| 13 import 'package:analysis_server/src/services/completion/completion_core.dart'; | 12 import 'package:analysis_server/src/services/completion/completion_core.dart'; |
| 14 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; | 13 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; |
| 15 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; | 14 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; |
| 16 import 'package:analysis_server/src/services/index/index.dart'; | 15 import 'package:analysis_server/src/services/index/index.dart'; |
| 17 import 'package:analysis_server/src/services/index/local_memory_index.dart'; | 16 import 'package:analysis_server/src/services/index/local_memory_index.dart'; |
| 18 import 'package:analysis_server/src/services/search/search_engine.dart'; | 17 import 'package:analysis_server/src/services/search/search_engine.dart'; |
| 19 import 'package:analysis_server/src/services/search/search_engine_internal.dart'
; | 18 import 'package:analysis_server/src/services/search/search_engine_internal.dart'
; |
| 20 import 'package:analyzer/src/generated/engine.dart'; | 19 import 'package:analyzer/src/generated/engine.dart'; |
| 21 import 'package:analyzer/src/generated/source.dart'; | 20 import 'package:analyzer/src/generated/source.dart'; |
| 22 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 21 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 23 import 'package:unittest/unittest.dart'; | 22 import 'package:unittest/unittest.dart'; |
| 24 | 23 |
| 25 import '../../abstract_single_unit.dart'; | 24 import '../../abstract_single_unit.dart'; |
| 26 import '../../operation/operation_queue_test.dart'; | |
| 27 import '../../utils.dart'; | 25 import '../../utils.dart'; |
| 28 | 26 |
| 29 main() { | 27 main() { |
| 30 initializeTestEnvironment(); | 28 initializeTestEnvironment(); |
| 31 defineReflectiveTests(DartCompletionManagerTest); | 29 defineReflectiveTests(DartCompletionManagerTest); |
| 32 } | 30 } |
| 33 | 31 |
| 34 /** | 32 /** |
| 35 * Returns a [Future] that completes after pumping the event queue [times] | 33 * Returns a [Future] that completes after pumping the event queue [times] |
| 36 * times. By default, this should pump the event queue enough times to allow | 34 * times. By default, this should pump the event queue enough times to allow |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 _continuePerformingAnalysis = false; | 79 _continuePerformingAnalysis = false; |
| 82 } | 80 } |
| 83 | 81 |
| 84 test_compute_fastAndFull() { | 82 test_compute_fastAndFull() { |
| 85 contributor1 = new MockCompletionContributor(suggestion1, null); | 83 contributor1 = new MockCompletionContributor(suggestion1, null); |
| 86 contributor2 = new MockCompletionContributor(null, suggestion2); | 84 contributor2 = new MockCompletionContributor(null, suggestion2); |
| 87 manager.contributors = [contributor1, contributor2]; | 85 manager.contributors = [contributor1, contributor2]; |
| 88 manager.newContributors = []; | 86 manager.newContributors = []; |
| 89 int count = 0; | 87 int count = 0; |
| 90 bool done = false; | 88 bool done = false; |
| 91 AnalysisServer server = new AnalysisServerMock(searchEngine: searchEngine); | |
| 92 CompletionRequest completionRequest = | 89 CompletionRequest completionRequest = |
| 93 new CompletionRequestImpl(server, context, source, 0); | 90 new CompletionRequestImpl(context, provider, searchEngine, source, 0); |
| 94 manager.results(completionRequest).listen((CompletionResult r) { | 91 manager.results(completionRequest).listen((CompletionResult r) { |
| 95 bool isLast = r is CompletionResultImpl ? r.isLast : true; | 92 bool isLast = r is CompletionResultImpl ? r.isLast : true; |
| 96 switch (++count) { | 93 switch (++count) { |
| 97 case 1: | 94 case 1: |
| 98 contributor1.assertCalls(context, source, 0, searchEngine); | 95 contributor1.assertCalls(context, source, 0, searchEngine); |
| 99 expect(contributor1.fastCount, equals(1)); | 96 expect(contributor1.fastCount, equals(1)); |
| 100 expect(contributor1.fullCount, equals(0)); | 97 expect(contributor1.fullCount, equals(0)); |
| 101 contributor2.assertCalls(context, source, 0, searchEngine); | 98 contributor2.assertCalls(context, source, 0, searchEngine); |
| 102 expect(contributor2.fastCount, equals(1)); | 99 expect(contributor2.fastCount, equals(1)); |
| 103 expect(contributor2.fullCount, equals(1)); | 100 expect(contributor2.fullCount, equals(1)); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 120 }); | 117 }); |
| 121 } | 118 } |
| 122 | 119 |
| 123 test_compute_fastOnly() { | 120 test_compute_fastOnly() { |
| 124 contributor1 = new MockCompletionContributor(suggestion1, null); | 121 contributor1 = new MockCompletionContributor(suggestion1, null); |
| 125 contributor2 = new MockCompletionContributor(suggestion2, null); | 122 contributor2 = new MockCompletionContributor(suggestion2, null); |
| 126 manager.contributors = [contributor1, contributor2]; | 123 manager.contributors = [contributor1, contributor2]; |
| 127 manager.newContributors = []; | 124 manager.newContributors = []; |
| 128 int count = 0; | 125 int count = 0; |
| 129 bool done = false; | 126 bool done = false; |
| 130 AnalysisServer server = new AnalysisServerMock(searchEngine: searchEngine); | |
| 131 CompletionRequest completionRequest = | 127 CompletionRequest completionRequest = |
| 132 new CompletionRequestImpl(server, context, source, 0); | 128 new CompletionRequestImpl(context, provider, searchEngine, source, 0); |
| 133 manager.results(completionRequest).listen((CompletionResult r) { | 129 manager.results(completionRequest).listen((CompletionResult r) { |
| 134 bool isLast = r is CompletionResultImpl ? r.isLast : true; | 130 bool isLast = r is CompletionResultImpl ? r.isLast : true; |
| 135 switch (++count) { | 131 switch (++count) { |
| 136 case 1: | 132 case 1: |
| 137 contributor1.assertCalls(context, source, 0, searchEngine); | 133 contributor1.assertCalls(context, source, 0, searchEngine); |
| 138 expect(contributor1.fastCount, equals(1)); | 134 expect(contributor1.fastCount, equals(1)); |
| 139 expect(contributor1.fullCount, equals(0)); | 135 expect(contributor1.fullCount, equals(0)); |
| 140 contributor2.assertCalls(context, source, 0, searchEngine); | 136 contributor2.assertCalls(context, source, 0, searchEngine); |
| 141 expect(contributor2.fastCount, equals(1)); | 137 expect(contributor2.fastCount, equals(1)); |
| 142 expect(contributor2.fullCount, equals(0)); | 138 expect(contributor2.fullCount, equals(0)); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 @override | 197 @override |
| 202 Future<bool> computeFull(DartCompletionRequest request) { | 198 Future<bool> computeFull(DartCompletionRequest request) { |
| 203 this.request = request; | 199 this.request = request; |
| 204 fullCount++; | 200 fullCount++; |
| 205 if (fullSuggestion != null) { | 201 if (fullSuggestion != null) { |
| 206 request.addSuggestion(fullSuggestion); | 202 request.addSuggestion(fullSuggestion); |
| 207 } | 203 } |
| 208 return new Future.value(fullSuggestion != null); | 204 return new Future.value(fullSuggestion != null); |
| 209 } | 205 } |
| 210 } | 206 } |
| OLD | NEW |