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

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

Issue 664523003: improve element parameter string returned by local suggestion computer (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 2 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
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/local_computer.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.util; 5 library test.services.completion.util;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/protocol.dart' as protocol show Element, 9 import 'package:analysis_server/src/protocol.dart' as protocol show Element,
10 ElementKind; 10 ElementKind;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 } 100 }
101 101
102 CompletionSuggestion assertSuggestClass(String name, 102 CompletionSuggestion assertSuggestClass(String name,
103 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 103 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
104 CompletionSuggestion cs = 104 CompletionSuggestion cs =
105 assertSuggest(CompletionSuggestionKind.CLASS, name, relevance); 105 assertSuggest(CompletionSuggestionKind.CLASS, name, relevance);
106 protocol.Element element = cs.element; 106 protocol.Element element = cs.element;
107 expect(element, isNotNull); 107 expect(element, isNotNull);
108 expect(element.kind, equals(protocol.ElementKind.CLASS)); 108 expect(element.kind, equals(protocol.ElementKind.CLASS));
109 expect(element.name, equals(name)); 109 expect(element.name, equals(name));
110 expect(element.parameters, isNull);
110 expect(element.returnType, isNull); 111 expect(element.returnType, isNull);
111 return cs; 112 return cs;
112 } 113 }
113 114
114 CompletionSuggestion assertSuggestFunction(String name, String returnType, 115 CompletionSuggestion assertSuggestFunction(String name, String returnType,
115 bool isDeprecated, [CompletionRelevance relevance = 116 bool isDeprecated, [CompletionRelevance relevance =
116 CompletionRelevance.DEFAULT]) { 117 CompletionRelevance.DEFAULT]) {
117 CompletionSuggestion cs = assertSuggest( 118 CompletionSuggestion cs = assertSuggest(
118 CompletionSuggestionKind.FUNCTION, 119 CompletionSuggestionKind.FUNCTION,
119 name, 120 name,
120 relevance, 121 relevance,
121 isDeprecated); 122 isDeprecated);
122 expect(cs.returnType, equals(returnType)); 123 expect(cs.returnType, equals(returnType));
123 protocol.Element element = cs.element; 124 protocol.Element element = cs.element;
124 expect(element, isNotNull); 125 expect(element, isNotNull);
125 expect(element.kind, equals(protocol.ElementKind.FUNCTION)); 126 expect(element.kind, equals(protocol.ElementKind.FUNCTION));
126 expect(element.name, equals(name)); 127 expect(element.name, equals(name));
127 expect(element.isDeprecated, equals(isDeprecated)); 128 expect(element.isDeprecated, equals(isDeprecated));
129 String param = element.parameters;
130 expect(param, isNotNull);
131 expect(param[0], equals('('));
132 expect(param[param.length - 1], equals(')'));
128 expect( 133 expect(
129 element.returnType, 134 element.returnType,
130 equals(returnType != null ? returnType : 'dynamic')); 135 equals(returnType != null ? returnType : 'dynamic'));
131 return cs; 136 return cs;
132 } 137 }
133 138
134 CompletionSuggestion assertSuggestGetter(String name, String returnType, 139 CompletionSuggestion assertSuggestGetter(String name, String returnType,
135 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 140 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
136 CompletionSuggestion cs = 141 CompletionSuggestion cs =
137 assertSuggest(CompletionSuggestionKind.GETTER, name, relevance); 142 assertSuggest(CompletionSuggestionKind.GETTER, name, relevance);
138 expect(cs.returnType, equals(returnType)); 143 expect(cs.returnType, equals(returnType));
139 protocol.Element element = cs.element; 144 protocol.Element element = cs.element;
140 expect(element, isNotNull); 145 expect(element, isNotNull);
141 expect(element.kind, equals(protocol.ElementKind.GETTER)); 146 expect(element.kind, equals(protocol.ElementKind.GETTER));
142 expect(element.name, equals(name)); 147 expect(element.name, equals(name));
148 //TODO (danrubel) getter should have parameters
149 // but not used in code completion
150 //expect(element.parameters, '()');
143 expect( 151 expect(
144 element.returnType, 152 element.returnType,
145 equals(returnType != null ? returnType : 'dynamic')); 153 equals(returnType != null ? returnType : 'dynamic'));
146 return cs; 154 return cs;
147 } 155 }
148 156
149 CompletionSuggestion assertSuggestLibraryPrefix(String prefix, 157 CompletionSuggestion assertSuggestLibraryPrefix(String prefix,
150 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 158 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
151 // Library prefix should only be suggested by ImportedComputer 159 // Library prefix should only be suggested by ImportedComputer
152 if (computer is ImportedComputer) { 160 if (computer is ImportedComputer) {
153 CompletionSuggestion cs = 161 CompletionSuggestion cs =
154 assertSuggest(CompletionSuggestionKind.LIBRARY_PREFIX, prefix, relevan ce); 162 assertSuggest(CompletionSuggestionKind.LIBRARY_PREFIX, prefix, relevan ce);
155 protocol.Element element = cs.element; 163 protocol.Element element = cs.element;
156 expect(element, isNotNull); 164 expect(element, isNotNull);
157 expect(element.kind, equals(protocol.ElementKind.LIBRARY)); 165 expect(element.kind, equals(protocol.ElementKind.LIBRARY));
166 expect(element.parameters, isNull);
158 expect(element.returnType, isNull); 167 expect(element.returnType, isNull);
159 return cs; 168 return cs;
160 } else { 169 } else {
161 return assertNotSuggested(prefix); 170 return assertNotSuggested(prefix);
162 } 171 }
163 } 172 }
164 173
165 CompletionSuggestion assertSuggestLocalVariable(String name, 174 CompletionSuggestion assertSuggestLocalVariable(String name,
166 String returnType, [CompletionRelevance relevance = 175 String returnType, [CompletionRelevance relevance =
167 CompletionRelevance.DEFAULT]) { 176 CompletionRelevance.DEFAULT]) {
168 // Local variables should only be suggested by LocalComputer 177 // Local variables should only be suggested by LocalComputer
169 if (computer is LocalComputer) { 178 if (computer is LocalComputer) {
170 CompletionSuggestion cs = 179 CompletionSuggestion cs =
171 assertSuggest(CompletionSuggestionKind.LOCAL_VARIABLE, name, relevance ); 180 assertSuggest(CompletionSuggestionKind.LOCAL_VARIABLE, name, relevance );
172 expect(cs.returnType, equals(returnType)); 181 expect(cs.returnType, equals(returnType));
173 protocol.Element element = cs.element; 182 protocol.Element element = cs.element;
174 expect(element, isNotNull); 183 expect(element, isNotNull);
175 expect(element.kind, equals(protocol.ElementKind.LOCAL_VARIABLE)); 184 expect(element.kind, equals(protocol.ElementKind.LOCAL_VARIABLE));
176 expect(element.name, equals(name)); 185 expect(element.name, equals(name));
186 expect(element.parameters, isNull);
177 expect( 187 expect(
178 element.returnType, 188 element.returnType,
179 equals(returnType != null ? returnType : 'dynamic')); 189 equals(returnType != null ? returnType : 'dynamic'));
180 return cs; 190 return cs;
181 } else { 191 } else {
182 return assertNotSuggested(name); 192 return assertNotSuggested(name);
183 } 193 }
184 } 194 }
185 195
186 CompletionSuggestion assertSuggestMethod(String name, String declaringType, 196 CompletionSuggestion assertSuggestMethod(String name, String declaringType,
187 String returnType, [CompletionRelevance relevance = 197 String returnType, [CompletionRelevance relevance =
188 CompletionRelevance.DEFAULT]) { 198 CompletionRelevance.DEFAULT]) {
189 CompletionSuggestion cs = 199 CompletionSuggestion cs =
190 assertSuggest(CompletionSuggestionKind.METHOD, name, relevance); 200 assertSuggest(CompletionSuggestionKind.METHOD, name, relevance);
191 expect(cs.declaringType, equals(declaringType)); 201 expect(cs.declaringType, equals(declaringType));
192 expect(cs.returnType, equals(returnType)); 202 expect(cs.returnType, equals(returnType));
193 protocol.Element element = cs.element; 203 protocol.Element element = cs.element;
194 expect(element, isNotNull); 204 expect(element, isNotNull);
195 expect(element.kind, equals(protocol.ElementKind.METHOD)); 205 expect(element.kind, equals(protocol.ElementKind.METHOD));
196 expect(element.name, equals(name)); 206 expect(element.name, equals(name));
207 String param = element.parameters;
208 expect(param, isNotNull);
209 expect(param[0], equals('('));
210 expect(param[param.length - 1], equals(')'));
197 expect( 211 expect(
198 element.returnType, 212 element.returnType,
199 equals(returnType != null ? returnType : 'dynamic')); 213 equals(returnType != null ? returnType : 'dynamic'));
200 return cs; 214 return cs;
201 } 215 }
202 216
203 CompletionSuggestion assertSuggestNamedConstructor(String name, 217 CompletionSuggestion assertSuggestNamedConstructor(String name,
204 String returnType, [CompletionRelevance relevance = 218 String returnType, [CompletionRelevance relevance =
205 CompletionRelevance.DEFAULT]) { 219 CompletionRelevance.DEFAULT]) {
206 if (computer is InvocationComputer) { 220 if (computer is InvocationComputer) {
207 CompletionSuggestion cs = 221 CompletionSuggestion cs =
208 assertSuggest(CompletionSuggestionKind.CONSTRUCTOR, name, relevance); 222 assertSuggest(CompletionSuggestionKind.CONSTRUCTOR, name, relevance);
209 protocol.Element element = cs.element; 223 protocol.Element element = cs.element;
210 expect(element, isNotNull); 224 expect(element, isNotNull);
211 expect(element.kind, equals(protocol.ElementKind.CONSTRUCTOR)); 225 expect(element.kind, equals(protocol.ElementKind.CONSTRUCTOR));
212 expect(element.name, equals(name)); 226 expect(element.name, equals(name));
227 String param = element.parameters;
228 expect(param, isNotNull);
229 expect(param[0], equals('('));
230 expect(param[param.length - 1], equals(')'));
213 expect(element.returnType, equals(returnType)); 231 expect(element.returnType, equals(returnType));
214 return cs; 232 return cs;
215 } else { 233 } else {
216 return assertNotSuggested(name); 234 return assertNotSuggested(name);
217 } 235 }
218 } 236 }
219 237
220 CompletionSuggestion assertSuggestParameter(String name, String returnType, 238 CompletionSuggestion assertSuggestParameter(String name, String returnType,
221 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 239 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
222 // Parameters should only be suggested by LocalComputer 240 // Parameters should only be suggested by LocalComputer
223 if (computer is LocalComputer) { 241 if (computer is LocalComputer) {
224 CompletionSuggestion cs = 242 CompletionSuggestion cs =
225 assertSuggest(CompletionSuggestionKind.PARAMETER, name, relevance); 243 assertSuggest(CompletionSuggestionKind.PARAMETER, name, relevance);
226 expect(cs.returnType, equals(returnType)); 244 expect(cs.returnType, equals(returnType));
227 protocol.Element element = cs.element; 245 protocol.Element element = cs.element;
228 expect(element, isNotNull); 246 expect(element, isNotNull);
229 expect(element.kind, equals(protocol.ElementKind.PARAMETER)); 247 expect(element.kind, equals(protocol.ElementKind.PARAMETER));
230 expect(element.name, equals(name)); 248 expect(element.name, equals(name));
249 expect(element.parameters, isNull);
231 expect( 250 expect(
232 element.returnType, 251 element.returnType,
233 equals(returnType != null ? returnType : 'dynamic')); 252 equals(returnType != null ? returnType : 'dynamic'));
234 return cs; 253 return cs;
235 } else { 254 } else {
236 return assertNotSuggested(name); 255 return assertNotSuggested(name);
237 } 256 }
238 } 257 }
239 258
240 CompletionSuggestion assertSuggestSetter(String name, 259 CompletionSuggestion assertSuggestSetter(String name,
241 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 260 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
242 CompletionSuggestion cs = 261 CompletionSuggestion cs =
243 assertSuggest(CompletionSuggestionKind.SETTER, name, relevance); 262 assertSuggest(CompletionSuggestionKind.SETTER, name, relevance);
244 protocol.Element element = cs.element; 263 protocol.Element element = cs.element;
245 expect(element, isNotNull); 264 expect(element, isNotNull);
246 expect(element.kind, equals(protocol.ElementKind.SETTER)); 265 expect(element.kind, equals(protocol.ElementKind.SETTER));
247 expect(element.name, equals(name)); 266 expect(element.name, equals(name));
267 // TODO (danrubel) assert setter param
268 //expect(element.parameters, isNull);
248 expect(element.returnType, isNull); 269 expect(element.returnType, isNull);
249 return cs; 270 return cs;
250 } 271 }
251 272
252 CompletionSuggestion assertSuggestTopLevelVar(String name, String returnType, 273 CompletionSuggestion assertSuggestTopLevelVar(String name, String returnType,
253 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 274 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
254 CompletionSuggestion cs = 275 CompletionSuggestion cs =
255 assertSuggest(CompletionSuggestionKind.TOP_LEVEL_VARIABLE, name, relevan ce); 276 assertSuggest(CompletionSuggestionKind.TOP_LEVEL_VARIABLE, name, relevan ce);
256 expect(cs.returnType, equals(returnType)); 277 expect(cs.returnType, equals(returnType));
257 protocol.Element element = cs.element; 278 protocol.Element element = cs.element;
258 expect(element, isNotNull); 279 expect(element, isNotNull);
259 expect(element.kind, equals(protocol.ElementKind.TOP_LEVEL_VARIABLE)); 280 expect(element.kind, equals(protocol.ElementKind.TOP_LEVEL_VARIABLE));
260 expect(element.name, equals(name)); 281 expect(element.name, equals(name));
282 expect(element.parameters, isNull);
261 //TODO (danrubel) return type level variable 'type' but not as 'returnType' 283 //TODO (danrubel) return type level variable 'type' but not as 'returnType'
262 // expect( 284 // expect(
263 // element.returnType, 285 // element.returnType,
264 // equals(returnType != null ? returnType : 'dynamic')); 286 // equals(returnType != null ? returnType : 'dynamic'));
265 return cs; 287 return cs;
266 } 288 }
267 289
268 void assertSuggestTopLevelVarGetterSetter(String name, String returnType, 290 void assertSuggestTopLevelVarGetterSetter(String name, String returnType,
269 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 291 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
270 if (computer is ImportedComputer) { 292 if (computer is ImportedComputer) {
(...skipping 1344 matching lines...) Expand 10 before | Expand all | Expand 10 after
1615 assertNotSuggested('bar2'); 1637 assertNotSuggested('bar2');
1616 assertNotSuggested('_B'); 1638 assertNotSuggested('_B');
1617 assertSuggestLocalClass('Y'); 1639 assertSuggestLocalClass('Y');
1618 assertSuggestLocalClass('C'); 1640 assertSuggestLocalClass('C');
1619 assertSuggestLocalVariable('f', null); 1641 assertSuggestLocalVariable('f', null);
1620 assertNotSuggested('x'); 1642 assertNotSuggested('x');
1621 assertNotSuggested('e'); 1643 assertNotSuggested('e');
1622 }); 1644 });
1623 } 1645 }
1624 } 1646 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/local_computer.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698