OLD | NEW |
---|---|
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:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
8 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; | 8 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; |
9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
10 import 'package:analyzer/src/dart/analysis/driver.dart'; | 10 import 'package:analyzer/src/dart/analysis/driver.dart'; |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
211 ClassElement element = _findElementAtString('A p'); | 211 ClassElement element = _findElementAtString('A p'); |
212 Element p = _findElement('p'); | 212 Element p = _findElement('p'); |
213 Element main = _findElement('main'); | 213 Element main = _findElement('main'); |
214 var expected = [ | 214 var expected = [ |
215 _expectId(p, SearchResultKind.REFERENCE, 'A p'), | 215 _expectId(p, SearchResultKind.REFERENCE, 'A p'), |
216 _expectId(main, SearchResultKind.REFERENCE, 'A v') | 216 _expectId(main, SearchResultKind.REFERENCE, 'A v') |
217 ]; | 217 ]; |
218 await _verifyReferences(element, expected); | 218 await _verifyReferences(element, expected); |
219 } | 219 } |
220 | 220 |
221 test_searchReferences_ClassElement_definedInSdk() async { | |
222 await _resolveTestUnit(''' | |
223 import 'dart:math'; | |
224 Random v1; | |
225 Random v2; | |
226 '''); | |
227 | |
228 // Find the Random class element in the SDK source. | |
229 // IDEA performs search always at declaration, never at reference. | |
Brian Wilkerson
2017/01/25 14:52:42
I don't understand the second line of this comment
scheglov
2017/01/25 15:02:19
Yes, kind of.
When you search on Random in "Rando
Brian Wilkerson
2017/01/25 15:09:27
Ok. It makes perfect sense to test that code path
scheglov
2017/01/25 16:38:57
Done.
| |
230 ClassElement randomElement; | |
231 { | |
232 String randomPath = sdk.mapDartUri('dart:math').fullName; | |
233 AnalysisResult result = await driver.getResult(randomPath); | |
234 randomElement = result.unit.element.getType('Random'); | |
235 } | |
236 | |
237 Element v1 = _findElement('v1'); | |
238 Element v2 = _findElement('v2'); | |
239 var expected = [ | |
240 _expectId(v1, SearchResultKind.REFERENCE, 'Random v1;'), | |
241 _expectId(v2, SearchResultKind.REFERENCE, 'Random v2;'), | |
242 ]; | |
243 await _verifyReferences(randomElement, expected); | |
244 } | |
245 | |
221 test_searchReferences_CompilationUnitElement() async { | 246 test_searchReferences_CompilationUnitElement() async { |
222 provider.newFile(_p('$testProject/foo.dart'), ''); | 247 provider.newFile(_p('$testProject/foo.dart'), ''); |
223 await _resolveTestUnit(''' | 248 await _resolveTestUnit(''' |
224 import 'foo.dart'; // import | 249 import 'foo.dart'; // import |
225 export 'foo.dart'; // export | 250 export 'foo.dart'; // export |
226 '''); | 251 '''); |
227 CompilationUnitElement element = | 252 CompilationUnitElement element = |
228 testLibraryElement.imports[0].importedLibrary.definingCompilationUnit; | 253 testLibraryElement.imports[0].importedLibrary.definingCompilationUnit; |
229 int uriLength = "'foo.dart'".length; | 254 int uriLength = "'foo.dart'".length; |
230 var expected = [ | 255 var expected = [ |
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1136 List<SearchResult> results = await driver.search.references(element); | 1161 List<SearchResult> results = await driver.search.references(element); |
1137 _assertResults(results, expectedMatches); | 1162 _assertResults(results, expectedMatches); |
1138 expect(results, hasLength(expectedMatches.length)); | 1163 expect(results, hasLength(expectedMatches.length)); |
1139 } | 1164 } |
1140 | 1165 |
1141 static void _assertResults( | 1166 static void _assertResults( |
1142 List<SearchResult> matches, List<ExpectedResult> expectedMatches) { | 1167 List<SearchResult> matches, List<ExpectedResult> expectedMatches) { |
1143 expect(matches, unorderedEquals(expectedMatches)); | 1168 expect(matches, unorderedEquals(expectedMatches)); |
1144 } | 1169 } |
1145 } | 1170 } |
OLD | NEW |