| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer.test.src.task.dart_test; | 5 library analyzer.test.src.task.dart_test; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/ast/visitor.dart'; | 8 import 'package:analyzer/dart/ast/visitor.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
| (...skipping 2222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2233 LibrarySpecificUnit target = new LibrarySpecificUnit(source, source); | 2233 LibrarySpecificUnit target = new LibrarySpecificUnit(source, source); |
| 2234 computeResult(target, USED_IMPORTED_ELEMENTS, | 2234 computeResult(target, USED_IMPORTED_ELEMENTS, |
| 2235 matcher: isGatherUsedImportedElementsTask); | 2235 matcher: isGatherUsedImportedElementsTask); |
| 2236 usedElements = outputs[USED_IMPORTED_ELEMENTS]; | 2236 usedElements = outputs[USED_IMPORTED_ELEMENTS]; |
| 2237 usedElementNames = usedElements.elements.map((e) => e.name).toSet(); | 2237 usedElementNames = usedElements.elements.map((e) => e.name).toSet(); |
| 2238 } | 2238 } |
| 2239 } | 2239 } |
| 2240 | 2240 |
| 2241 @reflectiveTest | 2241 @reflectiveTest |
| 2242 class GatherUsedLocalElementsTaskTest extends _AbstractDartTaskTest { | 2242 class GatherUsedLocalElementsTaskTest extends _AbstractDartTaskTest { |
| 2243 List<Element> definedElements; |
| 2244 Set<String> definedElementNames; |
| 2243 UsedLocalElements usedElements; | 2245 UsedLocalElements usedElements; |
| 2244 Set<String> usedElementNames; | 2246 Set<String> usedElementNames; |
| 2245 | 2247 |
| 2246 test_perform_forPart_afterLibraryUpdate() { | 2248 test_perform_forPart_afterLibraryUpdate() { |
| 2247 Source libSource = newSource( | 2249 Source libSource = newSource( |
| 2248 '/my_lib.dart', | 2250 '/my_lib.dart', |
| 2249 ''' | 2251 ''' |
| 2250 library my_lib; | 2252 library my_lib; |
| 2251 part 'my_part.dart'; | 2253 part 'my_part.dart'; |
| 2252 foo() => null; | 2254 foo() => null; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2297 Source source = newSource( | 2299 Source source = newSource( |
| 2298 '/test.dart', | 2300 '/test.dart', |
| 2299 r''' | 2301 r''' |
| 2300 main() { | 2302 main() { |
| 2301 var v1 = 1; | 2303 var v1 = 1; |
| 2302 var v2 = 2; | 2304 var v2 = 2; |
| 2303 print(v2); | 2305 print(v2); |
| 2304 }'''); | 2306 }'''); |
| 2305 _computeUsedElements(source); | 2307 _computeUsedElements(source); |
| 2306 // validate | 2308 // validate |
| 2309 expect(definedElementNames, unorderedEquals(['main', 'v1', 'v2'])); |
| 2307 expect(usedElementNames, unorderedEquals(['v2'])); | 2310 expect(usedElementNames, unorderedEquals(['v2'])); |
| 2308 } | 2311 } |
| 2309 | 2312 |
| 2310 test_perform_method() { | 2313 test_perform_method() { |
| 2311 Source source = newSource( | 2314 Source source = newSource( |
| 2312 '/test.dart', | 2315 '/test.dart', |
| 2313 r''' | 2316 r''' |
| 2314 class A { | 2317 class A { |
| 2315 _m1() {} | 2318 _m1() {} |
| 2316 _m2() {} | 2319 _m2() {} |
| 2317 } | 2320 } |
| 2318 | 2321 |
| 2319 main(A a, p) { | 2322 main(A a, p) { |
| 2320 a._m2(); | 2323 a._m2(); |
| 2321 p._m3(); | 2324 p._m3(); |
| 2322 } | 2325 } |
| 2323 '''); | 2326 '''); |
| 2324 _computeUsedElements(source); | 2327 _computeUsedElements(source); |
| 2325 // validate | 2328 // validate |
| 2329 expect(definedElementNames, |
| 2330 unorderedEquals(['A', '_m1', '_m2', 'main', 'a', 'p'])); |
| 2326 expect(usedElementNames, unorderedEquals(['A', 'a', 'p', '_m2'])); | 2331 expect(usedElementNames, unorderedEquals(['A', 'a', 'p', '_m2'])); |
| 2327 expect(usedElements.members, unorderedEquals(['_m2', '_m3'])); | 2332 expect(usedElements.members, unorderedEquals(['_m2', '_m3'])); |
| 2328 } | 2333 } |
| 2329 | 2334 |
| 2335 test_perform_unresolvedImportWithPrefix() { |
| 2336 Source source = newSource( |
| 2337 '/test.dart', |
| 2338 r''' |
| 2339 import 'x' as p; |
| 2340 '''); |
| 2341 _computeUsedElements(source); |
| 2342 // validate |
| 2343 expect(definedElementNames, isEmpty); |
| 2344 expect(usedElementNames, isEmpty); |
| 2345 } |
| 2346 |
| 2330 void _computeUsedElements(Source source) { | 2347 void _computeUsedElements(Source source) { |
| 2331 LibrarySpecificUnit target = new LibrarySpecificUnit(source, source); | 2348 LibrarySpecificUnit target = new LibrarySpecificUnit(source, source); |
| 2332 computeResult(target, USED_LOCAL_ELEMENTS, | 2349 computeResult(target, USED_LOCAL_ELEMENTS, |
| 2333 matcher: isGatherUsedLocalElementsTask); | 2350 matcher: isGatherUsedLocalElementsTask); |
| 2351 definedElements = outputs[DEFINED_ELEMENTS]; |
| 2352 definedElementNames = definedElements.map((e) => e.name).toSet(); |
| 2334 usedElements = outputs[USED_LOCAL_ELEMENTS]; | 2353 usedElements = outputs[USED_LOCAL_ELEMENTS]; |
| 2335 usedElementNames = usedElements.elements.map((e) => e.name).toSet(); | 2354 usedElementNames = usedElements.elements.map((e) => e.name).toSet(); |
| 2336 } | 2355 } |
| 2337 } | 2356 } |
| 2338 | 2357 |
| 2339 @reflectiveTest | 2358 @reflectiveTest |
| 2340 class GenerateHintsTaskTest extends _AbstractDartTaskTest { | 2359 class GenerateHintsTaskTest extends _AbstractDartTaskTest { |
| 2341 test_perform_bestPractices_missingReturn() { | 2360 test_perform_bestPractices_missingReturn() { |
| 2342 Source source = newSource( | 2361 Source source = newSource( |
| 2343 '/test.dart', | 2362 '/test.dart', |
| (...skipping 2594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4938 /** | 4957 /** |
| 4939 * Fill [errorListener] with [result] errors in the current [task]. | 4958 * Fill [errorListener] with [result] errors in the current [task]. |
| 4940 */ | 4959 */ |
| 4941 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { | 4960 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { |
| 4942 List<AnalysisError> errors = task.outputs[result]; | 4961 List<AnalysisError> errors = task.outputs[result]; |
| 4943 expect(errors, isNotNull, reason: result.name); | 4962 expect(errors, isNotNull, reason: result.name); |
| 4944 errorListener = new GatheringErrorListener(); | 4963 errorListener = new GatheringErrorListener(); |
| 4945 errorListener.addAll(errors); | 4964 errorListener.addAll(errors); |
| 4946 } | 4965 } |
| 4947 } | 4966 } |
| OLD | NEW |