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

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

Issue 580623002: add element to completion suggestions (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 3 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.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'; 9 import 'package:analysis_server/src/protocol.dart' as protocol show Element, Ele mentKind;
10 import 'package:analysis_server/src/protocol.dart' hide Element;
10 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart'; 11 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart';
11 import 'package:analysis_server/src/services/index/index.dart'; 12 import 'package:analysis_server/src/services/index/index.dart';
12 import 'package:analysis_server/src/services/index/local_memory_index.dart'; 13 import 'package:analysis_server/src/services/index/local_memory_index.dart';
13 import 'package:analysis_server/src/services/search/search_engine_internal.dart' ; 14 import 'package:analysis_server/src/services/search/search_engine_internal.dart' ;
14 import 'package:analyzer/src/generated/ast.dart'; 15 import 'package:analyzer/src/generated/ast.dart';
15 import 'package:analyzer/src/generated/element.dart'; 16 import 'package:analyzer/src/generated/element.dart';
16 import 'package:analyzer/src/generated/engine.dart'; 17 import 'package:analyzer/src/generated/engine.dart';
17 import 'package:analyzer/src/generated/source.dart'; 18 import 'package:analyzer/src/generated/source.dart';
18 import 'package:unittest/unittest.dart'; 19 import 'package:unittest/unittest.dart';
19 20
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 } 78 }
78 expect(cs.kind, equals(kind)); 79 expect(cs.kind, equals(kind));
79 expect(cs.relevance, equals(relevance)); 80 expect(cs.relevance, equals(relevance));
80 expect(cs.selectionOffset, equals(completion.length)); 81 expect(cs.selectionOffset, equals(completion.length));
81 expect(cs.selectionLength, equals(0)); 82 expect(cs.selectionLength, equals(0));
82 expect(cs.isDeprecated, equals(isDeprecated)); 83 expect(cs.isDeprecated, equals(isDeprecated));
83 expect(cs.isPotential, equals(isPotential)); 84 expect(cs.isPotential, equals(isPotential));
84 return cs; 85 return cs;
85 } 86 }
86 87
87 void assertSuggestClass(String className, [CompletionRelevance relevance = 88 CompletionSuggestion assertSuggestClass(String name,
88 CompletionRelevance.DEFAULT]) { 89 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
89 assertSuggest(CompletionSuggestionKind.CLASS, className, relevance); 90 CompletionSuggestion cs =
91 assertSuggest(CompletionSuggestionKind.CLASS, name, relevance);
92 protocol.Element element = cs.element;
93 expect(element, isNotNull);
94 expect(element.kind, equals(protocol.ElementKind.CLASS));
95 expect(element.name, equals(name));
96 expect(element.returnType, isNull);
97 return cs;
90 } 98 }
91 99
92 void assertSuggestField(String completion, String declaringType, String type, 100 CompletionSuggestion assertSuggestFunction(String name, String returnType,
101 bool isDeprecated, [CompletionRelevance relevance =
102 CompletionRelevance.DEFAULT]) {
103 CompletionSuggestion cs = assertSuggest(
104 CompletionSuggestionKind.FUNCTION,
105 name,
106 relevance,
107 isDeprecated);
108 expect(cs.returnType, equals(returnType));
109 protocol.Element element = cs.element;
110 expect(element, isNotNull);
111 expect(element.kind, equals(protocol.ElementKind.FUNCTION));
112 expect(element.name, equals(name));
113 expect(element.isDeprecated, equals(isDeprecated));
114 expect(
115 element.returnType,
116 equals(returnType != null ? returnType : 'dynamic'));
117 return cs;
118 }
119
120 CompletionSuggestion assertSuggestGetter(String name, String returnType,
93 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 121 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
94 CompletionSuggestion cs = 122 CompletionSuggestion cs =
95 assertSuggest(CompletionSuggestionKind.FIELD, completion, relevance); 123 assertSuggest(CompletionSuggestionKind.GETTER, name, relevance);
96 expect(cs.declaringType, equals(declaringType)); 124 expect(cs.returnType, equals(returnType));
97 expect(cs.returnType, equals(type)); 125 protocol.Element element = cs.element;
126 expect(element, isNotNull);
127 expect(element.kind, equals(protocol.ElementKind.GETTER));
128 expect(element.name, equals(name));
129 expect(
130 element.returnType,
131 equals(returnType != null ? returnType : 'dynamic'));
132 return cs;
98 } 133 }
99 134
100 void assertSuggestFunction(String completion, String returnType, 135 CompletionSuggestion assertSuggestLibraryPrefix(String prefix,
101 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 136 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
102 CompletionSuggestion cs = 137 CompletionSuggestion cs =
103 assertSuggest(CompletionSuggestionKind.FUNCTION, completion, relevance); 138 assertSuggest(CompletionSuggestionKind.LIBRARY_PREFIX, prefix, relevance );
104 expect(cs.returnType, equals(returnType)); 139 protocol.Element element = cs.element;
140 expect(element, isNotNull);
141 expect(element.kind, equals(protocol.ElementKind.LIBRARY));
142 expect(element.name, equals(prefix));
143 expect(element.returnType, isNull);
144 return cs;
105 } 145 }
106 146
107 void assertSuggestGetter(String className, String returnType, 147 CompletionSuggestion assertSuggestLocalVariable(String name,
108 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
109 CompletionSuggestion cs =
110 assertSuggest(CompletionSuggestionKind.GETTER, className, relevance);
111 expect(cs.returnType, equals(returnType));
112 }
113
114 void assertSuggestLibraryPrefix(String completion,
115 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
116 assertSuggest(
117 CompletionSuggestionKind.LIBRARY_PREFIX,
118 completion,
119 relevance);
120 }
121
122 void assertSuggestLocalVariable(String completion, String returnType,
123 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
124 CompletionSuggestion cs =
125 assertSuggest(CompletionSuggestionKind.LOCAL_VARIABLE, completion, relev ance);
126 expect(cs.returnType, equals(returnType));
127 }
128
129 void assertSuggestMethod(String className, String declaringType,
130 String returnType, [CompletionRelevance relevance = 148 String returnType, [CompletionRelevance relevance =
131 CompletionRelevance.DEFAULT]) { 149 CompletionRelevance.DEFAULT]) {
132 CompletionSuggestion cs = 150 CompletionSuggestion cs =
133 assertSuggest(CompletionSuggestionKind.METHOD, className, relevance); 151 assertSuggest(CompletionSuggestionKind.LOCAL_VARIABLE, name, relevance);
134 expect(cs.declaringType, equals(declaringType));
135 expect(cs.returnType, equals(returnType)); 152 expect(cs.returnType, equals(returnType));
153 protocol.Element element = cs.element;
154 expect(element, isNotNull);
155 expect(element.kind, equals(protocol.ElementKind.LOCAL_VARIABLE));
156 expect(element.name, equals(name));
157 expect(
158 element.returnType,
159 equals(returnType != null ? returnType : 'dynamic'));
160 return cs;
136 } 161 }
137 162
138 void assertSuggestMethodName(String completion, String declaringType, 163 CompletionSuggestion assertSuggestMethod(String name, String declaringType,
139 String returnType, [CompletionRelevance relevance = 164 String returnType, [CompletionRelevance relevance =
140 CompletionRelevance.DEFAULT]) { 165 CompletionRelevance.DEFAULT]) {
141 CompletionSuggestion cs = 166 CompletionSuggestion cs =
142 assertSuggest(CompletionSuggestionKind.METHOD_NAME, completion, relevanc e); 167 assertSuggest(CompletionSuggestionKind.METHOD, name, relevance);
143 expect(cs.declaringType, equals(declaringType)); 168 expect(cs.declaringType, equals(declaringType));
144 expect(cs.returnType, equals(returnType)); 169 expect(cs.returnType, equals(returnType));
170 protocol.Element element = cs.element;
171 expect(element, isNotNull);
172 expect(element.kind, equals(protocol.ElementKind.METHOD));
173 expect(element.name, equals(name));
174 expect(
175 element.returnType,
176 equals(returnType != null ? returnType : 'dynamic'));
177 return cs;
145 } 178 }
146 179
147 void assertSuggestParameter(String completion, String returnType, 180 CompletionSuggestion assertSuggestParameter(String name, String returnType,
148 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 181 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
149 assertSuggest(CompletionSuggestionKind.PARAMETER, completion, relevance); 182 CompletionSuggestion cs =
183 assertSuggest(CompletionSuggestionKind.PARAMETER, name, relevance);
184 expect(cs.returnType, equals(returnType));
185 protocol.Element element = cs.element;
186 expect(element, isNotNull);
187 expect(element.kind, equals(protocol.ElementKind.PARAMETER));
188 expect(element.name, equals(name));
189 expect(
190 element.returnType,
191 equals(returnType != null ? returnType : 'dynamic'));
192 return cs;
150 } 193 }
151 194
152 void assertSuggestSetter(String className, [CompletionRelevance relevance = 195 CompletionSuggestion assertSuggestSetter(String name,
153 CompletionRelevance.DEFAULT]) { 196 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
154 assertSuggest(CompletionSuggestionKind.SETTER, className, relevance); 197 CompletionSuggestion cs =
198 assertSuggest(CompletionSuggestionKind.SETTER, name, relevance);
199 protocol.Element element = cs.element;
200 expect(element, isNotNull);
201 expect(element.kind, equals(protocol.ElementKind.SETTER));
202 expect(element.name, equals(name));
203 expect(element.returnType, isNull);
204 return cs;
155 } 205 }
156 206
157 void assertSuggestTopLevelVar(String completion, String returnType, 207 CompletionSuggestion assertSuggestTopLevelVar(String name, String returnType,
158 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) { 208 [CompletionRelevance relevance = CompletionRelevance.DEFAULT]) {
159 CompletionSuggestion cs = assertSuggest( 209 CompletionSuggestion cs =
160 CompletionSuggestionKind.TOP_LEVEL_VARIABLE, 210 assertSuggest(CompletionSuggestionKind.TOP_LEVEL_VARIABLE, name, relevan ce);
161 completion,
162 relevance);
163 expect(cs.returnType, equals(returnType)); 211 expect(cs.returnType, equals(returnType));
212 protocol.Element element = cs.element;
213 expect(element, isNotNull);
214 expect(element.kind, equals(protocol.ElementKind.TOP_LEVEL_VARIABLE));
215 expect(element.name, equals(name));
216 //TODO (danrubel) return type level variable 'type' but not as 'returnType'
217 // expect(
218 // element.returnType,
219 // equals(returnType != null ? returnType : 'dynamic'));
220 return cs;
164 } 221 }
165 222
166 bool computeFast() { 223 bool computeFast() {
167 _computeFastCalled = true; 224 _computeFastCalled = true;
168 CompilationUnit unit = context.parseCompilationUnit(testSource); 225 CompilationUnit unit = context.parseCompilationUnit(testSource);
169 request.unit = unit; 226 request.unit = unit;
170 request.node = new NodeLocator.con1(completionOffset).searchWithin(unit); 227 request.node = new NodeLocator.con1(completionOffset).searchWithin(unit);
171 return computer.computeFast(request); 228 return computer.computeFast(request);
172 } 229 }
173 230
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 return computer.computeFull(request); 278 return computer.computeFull(request);
222 } 279 }
223 280
224 @override 281 @override
225 void setUp() { 282 void setUp() {
226 super.setUp(); 283 super.setUp();
227 index = createLocalMemoryIndex(); 284 index = createLocalMemoryIndex();
228 searchEngine = new SearchEngineImpl(index); 285 searchEngine = new SearchEngineImpl(index);
229 } 286 }
230 } 287 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698