Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(254)

Side by Side Diff: pkg/analysis_server/test/services/completion/completion_computer_test.dart

Issue 1060713005: rename completion computer to contributor (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 28 matching lines...) Expand all
39 return new Future.delayed(Duration.ZERO, () => pumpEventQueue(times - 1)); 39 return new Future.delayed(Duration.ZERO, () => pumpEventQueue(times - 1));
40 } 40 }
41 41
42 @reflectiveTest 42 @reflectiveTest
43 class DartCompletionManagerTest extends AbstractSingleUnitTest { 43 class DartCompletionManagerTest extends AbstractSingleUnitTest {
44 Index index; 44 Index index;
45 SearchEngineImpl searchEngine; 45 SearchEngineImpl searchEngine;
46 Source source; 46 Source source;
47 CompletionPerformance perf; 47 CompletionPerformance perf;
48 DartCompletionManager manager; 48 DartCompletionManager manager;
49 MockCompletionComputer computer1; 49 MockCompletionContributor contributor1;
50 MockCompletionComputer computer2; 50 MockCompletionContributor contributor2;
51 CompletionSuggestion suggestion1; 51 CompletionSuggestion suggestion1;
52 CompletionSuggestion suggestion2; 52 CompletionSuggestion suggestion2;
53 bool _continuePerformingAnalysis = true; 53 bool _continuePerformingAnalysis = true;
54 54
55 void resolveLibrary() { 55 void resolveLibrary() {
56 context.resolveCompilationUnit( 56 context.resolveCompilationUnit(
57 source, context.computeLibraryElement(source)); 57 source, context.computeLibraryElement(source));
58 } 58 }
59 59
60 @override 60 @override
(...skipping 10 matching lines...) Expand all
71 DART_RELEVANCE_DEFAULT, "suggestion2", 2, 2, false, false); 71 DART_RELEVANCE_DEFAULT, "suggestion2", 2, 2, false, false);
72 new Future(_performAnalysis); 72 new Future(_performAnalysis);
73 } 73 }
74 74
75 @override 75 @override
76 void tearDown() { 76 void tearDown() {
77 _continuePerformingAnalysis = false; 77 _continuePerformingAnalysis = false;
78 } 78 }
79 79
80 test_compute_fastAndFull() { 80 test_compute_fastAndFull() {
81 computer1 = new MockCompletionComputer(suggestion1, null); 81 contributor1 = new MockCompletionContributor(suggestion1, null);
82 computer2 = new MockCompletionComputer(null, suggestion2); 82 contributor2 = new MockCompletionContributor(null, suggestion2);
83 manager.computers = [computer1, computer2]; 83 manager.contributors = [contributor1, contributor2];
84 int count = 0; 84 int count = 0;
85 bool done = false; 85 bool done = false;
86 CompletionRequest completionRequest = new CompletionRequest(0, perf); 86 CompletionRequest completionRequest = new CompletionRequest(0, perf);
87 manager.results(completionRequest).listen((CompletionResult r) { 87 manager.results(completionRequest).listen((CompletionResult r) {
88 switch (++count) { 88 switch (++count) {
89 case 1: 89 case 1:
90 computer1.assertCalls(context, source, 0, searchEngine); 90 contributor1.assertCalls(context, source, 0, searchEngine);
91 computer2.assertCalls(context, source, 0, searchEngine); 91 contributor2.assertCalls(context, source, 0, searchEngine);
92 expect(r.last, isFalse); 92 expect(r.last, isFalse);
93 expect(r.suggestions, hasLength(1)); 93 expect(r.suggestions, hasLength(1));
94 expect(r.suggestions, contains(suggestion1)); 94 expect(r.suggestions, contains(suggestion1));
95 resolveLibrary(); 95 resolveLibrary();
96 break; 96 break;
97 case 2: 97 case 2:
98 computer1.assertFull(0); 98 contributor1.assertFull(0);
99 computer2.assertFull(1); 99 contributor2.assertFull(1);
100 expect(r.last, isTrue); 100 expect(r.last, isTrue);
101 expect(r.suggestions, hasLength(2)); 101 expect(r.suggestions, hasLength(2));
102 expect(r.suggestions, contains(suggestion1)); 102 expect(r.suggestions, contains(suggestion1));
103 expect(r.suggestions, contains(suggestion2)); 103 expect(r.suggestions, contains(suggestion2));
104 break; 104 break;
105 default: 105 default:
106 fail('unexpected'); 106 fail('unexpected');
107 } 107 }
108 }, onDone: () { 108 }, onDone: () {
109 done = true; 109 done = true;
110 expect(count, equals(2)); 110 expect(count, equals(2));
111 }); 111 });
112 return pumpEventQueue().then((_) { 112 return pumpEventQueue().then((_) {
113 expect(done, isTrue); 113 expect(done, isTrue);
114 }); 114 });
115 } 115 }
116 116
117 test_compute_fastOnly() { 117 test_compute_fastOnly() {
118 computer1 = new MockCompletionComputer(suggestion1, null); 118 contributor1 = new MockCompletionContributor(suggestion1, null);
119 computer2 = new MockCompletionComputer(suggestion2, null); 119 contributor2 = new MockCompletionContributor(suggestion2, null);
120 manager.computers = [computer1, computer2]; 120 manager.contributors = [contributor1, contributor2];
121 int count = 0; 121 int count = 0;
122 bool done = false; 122 bool done = false;
123 CompletionRequest completionRequest = new CompletionRequest(0, perf); 123 CompletionRequest completionRequest = new CompletionRequest(0, perf);
124 manager.results(completionRequest).listen((CompletionResult r) { 124 manager.results(completionRequest).listen((CompletionResult r) {
125 switch (++count) { 125 switch (++count) {
126 case 1: 126 case 1:
127 computer1.assertCalls(context, source, 0, searchEngine); 127 contributor1.assertCalls(context, source, 0, searchEngine);
128 computer2.assertCalls(context, source, 0, searchEngine); 128 contributor2.assertCalls(context, source, 0, searchEngine);
129 expect(r.last, isTrue); 129 expect(r.last, isTrue);
130 expect(r.suggestions, hasLength(2)); 130 expect(r.suggestions, hasLength(2));
131 expect(r.suggestions, contains(suggestion1)); 131 expect(r.suggestions, contains(suggestion1));
132 expect(r.suggestions, contains(suggestion2)); 132 expect(r.suggestions, contains(suggestion2));
133 break; 133 break;
134 default: 134 default:
135 fail('unexpected'); 135 fail('unexpected');
136 } 136 }
137 }, onDone: () { 137 }, onDone: () {
138 done = true; 138 done = true;
139 expect(count, equals(1)); 139 expect(count, equals(1));
140 }); 140 });
141 return pumpEventQueue().then((_) { 141 return pumpEventQueue().then((_) {
142 expect(done, isTrue); 142 expect(done, isTrue);
143 }); 143 });
144 } 144 }
145 145
146 void _performAnalysis() { 146 void _performAnalysis() {
147 if (!_continuePerformingAnalysis) { 147 if (!_continuePerformingAnalysis) {
148 return; 148 return;
149 } 149 }
150 context.performAnalysisTask(); 150 context.performAnalysisTask();
151 new Future(_performAnalysis); 151 new Future(_performAnalysis);
152 } 152 }
153 } 153 }
154 154
155 class MockCompletionComputer extends DartCompletionComputer { 155 class MockCompletionContributor extends DartCompletionContributor {
156 final CompletionSuggestion fastSuggestion; 156 final CompletionSuggestion fastSuggestion;
157 final CompletionSuggestion fullSuggestion; 157 final CompletionSuggestion fullSuggestion;
158 int fastCount = 0; 158 int fastCount = 0;
159 int fullCount = 0; 159 int fullCount = 0;
160 DartCompletionRequest request; 160 DartCompletionRequest request;
161 161
162 MockCompletionComputer(this.fastSuggestion, this.fullSuggestion); 162 MockCompletionContributor(this.fastSuggestion, this.fullSuggestion);
163 163
164 assertCalls(AnalysisContext context, Source source, int offset, 164 assertCalls(AnalysisContext context, Source source, int offset,
165 SearchEngine searchEngine) { 165 SearchEngine searchEngine) {
166 expect(request.context, equals(context)); 166 expect(request.context, equals(context));
167 expect(request.source, equals(source)); 167 expect(request.source, equals(source));
168 expect(request.offset, equals(offset)); 168 expect(request.offset, equals(offset));
169 expect(request.searchEngine, equals(searchEngine)); 169 expect(request.searchEngine, equals(searchEngine));
170 expect(this.fastCount, equals(1)); 170 expect(this.fastCount, equals(1));
171 expect(this.fullCount, equals(0)); 171 expect(this.fullCount, equals(0));
172 } 172 }
(...skipping 16 matching lines...) Expand all
189 @override 189 @override
190 Future<bool> computeFull(DartCompletionRequest request) { 190 Future<bool> computeFull(DartCompletionRequest request) {
191 this.request = request; 191 this.request = request;
192 fullCount++; 192 fullCount++;
193 if (fullSuggestion != null) { 193 if (fullSuggestion != null) {
194 request.addSuggestion(fullSuggestion); 194 request.addSuggestion(fullSuggestion);
195 } 195 }
196 return new Future.value(fullSuggestion != null); 196 return new Future.value(fullSuggestion != null);
197 } 197 }
198 } 198 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698