| 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/src/protocol.dart'; | 9 import 'package:analysis_server/src/protocol.dart'; |
| 10 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; | 10 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 } | 59 } |
| 60 | 60 |
| 61 @override | 61 @override |
| 62 void setUp() { | 62 void setUp() { |
| 63 super.setUp(); | 63 super.setUp(); |
| 64 index = createLocalMemoryIndex(); | 64 index = createLocalMemoryIndex(); |
| 65 searchEngine = new SearchEngineImpl(index); | 65 searchEngine = new SearchEngineImpl(index); |
| 66 source = addSource('/does/not/exist.dart', ''); | 66 source = addSource('/does/not/exist.dart', ''); |
| 67 cache = null; | 67 cache = null; |
| 68 perf = new CompletionPerformance(); | 68 perf = new CompletionPerformance(); |
| 69 manager = new DartCompletionManager.create( | 69 manager = |
| 70 context, | 70 new DartCompletionManager.create(context, searchEngine, source, cache); |
| 71 searchEngine, | |
| 72 source, | |
| 73 0, | |
| 74 cache, | |
| 75 perf); | |
| 76 suggestion1 = new CompletionSuggestion( | 71 suggestion1 = new CompletionSuggestion( |
| 77 CompletionSuggestionKind.INVOCATION, | 72 CompletionSuggestionKind.INVOCATION, |
| 78 CompletionRelevance.DEFAULT, | 73 CompletionRelevance.DEFAULT, |
| 79 "suggestion1", | 74 "suggestion1", |
| 80 1, | 75 1, |
| 81 1, | 76 1, |
| 82 false, | 77 false, |
| 83 false); | 78 false); |
| 84 suggestion2 = new CompletionSuggestion( | 79 suggestion2 = new CompletionSuggestion( |
| 85 CompletionSuggestionKind.IDENTIFIER, | 80 CompletionSuggestionKind.IDENTIFIER, |
| 86 CompletionRelevance.DEFAULT, | 81 CompletionRelevance.DEFAULT, |
| 87 "suggestion2", | 82 "suggestion2", |
| 88 2, | 83 2, |
| 89 2, | 84 2, |
| 90 false, | 85 false, |
| 91 false); | 86 false); |
| 92 } | 87 } |
| 93 | 88 |
| 94 test_compute_fastAndFull() { | 89 test_compute_fastAndFull() { |
| 95 computer1 = new MockCompletionComputer(suggestion1, null); | 90 computer1 = new MockCompletionComputer(suggestion1, null); |
| 96 computer2 = new MockCompletionComputer(null, suggestion2); | 91 computer2 = new MockCompletionComputer(null, suggestion2); |
| 97 manager.computers = [computer1, computer2]; | 92 manager.computers = [computer1, computer2]; |
| 98 int count = 0; | 93 int count = 0; |
| 99 bool done = false; | 94 bool done = false; |
| 100 manager.results().listen((CompletionResult r) { | 95 CompletionRequest completionRequest = new CompletionRequest(0, perf); |
| 96 manager.results(completionRequest).listen((CompletionResult r) { |
| 101 switch (++count) { | 97 switch (++count) { |
| 102 case 1: | 98 case 1: |
| 103 computer1.assertCalls(context, source, 0, searchEngine); | 99 computer1.assertCalls(context, source, 0, searchEngine); |
| 104 computer2.assertCalls(context, source, 0, searchEngine); | 100 computer2.assertCalls(context, source, 0, searchEngine); |
| 105 expect(r.last, isFalse); | 101 expect(r.last, isFalse); |
| 106 expect(r.suggestions, hasLength(1)); | 102 expect(r.suggestions, hasLength(1)); |
| 107 expect(r.suggestions, contains(suggestion1)); | 103 expect(r.suggestions, contains(suggestion1)); |
| 108 resolveLibrary(); | 104 resolveLibrary(); |
| 109 break; | 105 break; |
| 110 case 2: | 106 case 2: |
| (...skipping 15 matching lines...) Expand all Loading... |
| 126 expect(done, isTrue); | 122 expect(done, isTrue); |
| 127 }); | 123 }); |
| 128 } | 124 } |
| 129 | 125 |
| 130 test_compute_fastOnly() { | 126 test_compute_fastOnly() { |
| 131 computer1 = new MockCompletionComputer(suggestion1, null); | 127 computer1 = new MockCompletionComputer(suggestion1, null); |
| 132 computer2 = new MockCompletionComputer(suggestion2, null); | 128 computer2 = new MockCompletionComputer(suggestion2, null); |
| 133 manager.computers = [computer1, computer2]; | 129 manager.computers = [computer1, computer2]; |
| 134 int count = 0; | 130 int count = 0; |
| 135 bool done = false; | 131 bool done = false; |
| 136 manager.results().listen((CompletionResult r) { | 132 CompletionRequest completionRequest = new CompletionRequest(0, perf); |
| 133 manager.results(completionRequest).listen((CompletionResult r) { |
| 137 switch (++count) { | 134 switch (++count) { |
| 138 case 1: | 135 case 1: |
| 139 computer1.assertCalls(context, source, 0, searchEngine); | 136 computer1.assertCalls(context, source, 0, searchEngine); |
| 140 computer2.assertCalls(context, source, 0, searchEngine); | 137 computer2.assertCalls(context, source, 0, searchEngine); |
| 141 expect(r.last, isTrue); | 138 expect(r.last, isTrue); |
| 142 expect(r.suggestions, hasLength(2)); | 139 expect(r.suggestions, hasLength(2)); |
| 143 expect(r.suggestions, contains(suggestion1)); | 140 expect(r.suggestions, contains(suggestion1)); |
| 144 expect(r.suggestions, contains(suggestion2)); | 141 expect(r.suggestions, contains(suggestion2)); |
| 145 break; | 142 break; |
| 146 default: | 143 default: |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 @override | 190 @override |
| 194 Future<bool> computeFull(DartCompletionRequest request) { | 191 Future<bool> computeFull(DartCompletionRequest request) { |
| 195 this.request = request; | 192 this.request = request; |
| 196 fullCount++; | 193 fullCount++; |
| 197 if (fullSuggestion != null) { | 194 if (fullSuggestion != null) { |
| 198 request.suggestions.add(fullSuggestion); | 195 request.suggestions.add(fullSuggestion); |
| 199 } | 196 } |
| 200 return new Future.value(fullSuggestion != null); | 197 return new Future.value(fullSuggestion != null); |
| 201 } | 198 } |
| 202 } | 199 } |
| OLD | NEW |