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

Side by Side Diff: pkg/analysis_server/test/services/search/search_engine2_test.dart

Issue 2653493006: Issue 28386. Implement search for potential usages with the new analysis driver. (Closed)
Patch Set: Created 3 years, 11 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analysis_server/src/services/search/search_engine.dart'; 7 import 'package:analysis_server/src/services/search/search_engine.dart';
8 import 'package:analysis_server/src/services/search/search_engine_internal2.dart '; 8 import 'package:analysis_server/src/services/search/search_engine_internal2.dart ';
9 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/file_system/file_system.dart'; 10 import 'package:analyzer/file_system/file_system.dart';
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 contains(predicate((SearchMatch m) => 147 contains(predicate((SearchMatch m) =>
148 m.kind == MatchKind.DECLARATION && 148 m.kind == MatchKind.DECLARATION &&
149 m.element.name == name && 149 m.element.name == name &&
150 m.element.nameOffset == nameOffset))); 150 m.element.nameOffset == nameOffset)));
151 } 151 }
152 152
153 assertHasElement('test', codeA.indexOf('test; // 1')); 153 assertHasElement('test', codeA.indexOf('test; // 1'));
154 assertHasElement('test', codeB.indexOf('test() {} // 2')); 154 assertHasElement('test', codeB.indexOf('test() {} // 2'));
155 } 155 }
156 156
157 test_searchMemberReferences() async {
158 var a = _p('/test/a.dart');
159 var b = _p('/test/b.dart');
160
161 provider.newFile(
162 a,
163 '''
164 class A {
165 int test;
166 }
167 foo(p) {
168 p.test;
169 }
170 ''');
171 provider.newFile(
172 b,
173 '''
174 import 'a.dart';
175 bar(p) {
176 p.test = 1;
177 }
178 ''');
179
180 var driver1 = _newDriver();
181 var driver2 = _newDriver();
182
183 driver1.addFile(a);
184 driver2.addFile(b);
185
186 var searchEngine = new SearchEngineImpl2([driver1, driver2]);
187 List<SearchMatch> matches =
188 await searchEngine.searchMemberReferences('test');
189 expect(matches, hasLength(2));
190 expect(
191 matches,
192 contains(predicate((SearchMatch m) =>
193 m.element.name == 'foo' || m.kind == MatchKind.READ)));
194 expect(
195 matches,
196 contains(predicate((SearchMatch m) =>
197 m.element.name == 'bar' || m.kind == MatchKind.WRITE)));
198 }
199
157 test_searchReferences() async { 200 test_searchReferences() async {
158 var a = _p('/test/a.dart'); 201 var a = _p('/test/a.dart');
159 var b = _p('/test/b.dart'); 202 var b = _p('/test/b.dart');
160 203
161 provider.newFile( 204 provider.newFile(
162 a, 205 a,
163 ''' 206 '''
164 class T {} 207 class T {}
165 T a; 208 T a;
166 '''); 209 ''');
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 contentOverlay, 285 contentOverlay,
243 'test', 286 'test',
244 new SourceFactory( 287 new SourceFactory(
245 [new DartUriResolver(sdk), new ResourceUriResolver(provider)], 288 [new DartUriResolver(sdk), new ResourceUriResolver(provider)],
246 null, 289 null,
247 provider), 290 provider),
248 new AnalysisOptionsImpl()..strongMode = true); 291 new AnalysisOptionsImpl()..strongMode = true);
249 292
250 String _p(String path) => provider.convertPath(path); 293 String _p(String path) => provider.convertPath(path);
251 } 294 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698