Chromium Code Reviews| 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 'package:analyzer/dart/element/element.dart'; | 5 import 'package:analyzer/dart/element/element.dart'; |
| 6 import 'package:analyzer/dart/element/visitor.dart'; | 6 import 'package:analyzer/dart/element/visitor.dart'; |
| 7 import 'package:analyzer/file_system/file_system.dart'; | 7 import 'package:analyzer/file_system/file_system.dart'; |
| 8 import 'package:analyzer/file_system/memory_file_system.dart'; | 8 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 9 import 'package:analyzer/source/package_map_resolver.dart'; | 9 import 'package:analyzer/source/package_map_resolver.dart'; |
| 10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; | 10 import 'package:analyzer/src/dart/analysis/byte_store.dart'; |
| 11 import 'package:analyzer/src/dart/analysis/driver.dart'; | 11 import 'package:analyzer/src/dart/analysis/driver.dart'; |
| 12 import 'package:analyzer/src/dart/analysis/file_state.dart'; | 12 import 'package:analyzer/src/dart/analysis/file_state.dart'; |
| 13 import 'package:analyzer/src/dart/analysis/status.dart'; | 13 import 'package:analyzer/src/dart/analysis/status.dart'; |
| 14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl; | 14 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl; |
| 15 import 'package:analyzer/src/generated/sdk.dart'; | 15 import 'package:analyzer/src/generated/sdk.dart'; |
| 16 import 'package:analyzer/src/generated/source.dart'; | 16 import 'package:analyzer/src/generated/source.dart'; |
| 17 import 'package:test/test.dart'; | 17 import 'package:test/test.dart'; |
| 18 | 18 |
| 19 import '../../context/mock_sdk.dart'; | 19 import '../../context/mock_sdk.dart'; |
| 20 import 'package:typed_mock/typed_mock.dart'; | |
|
Brian Wilkerson
2017/01/26 22:32:41
Sort?
| |
| 20 | 21 |
| 21 /** | 22 /** |
| 22 * Finds an [Element] with the given [name]. | 23 * Finds an [Element] with the given [name]. |
| 23 */ | 24 */ |
| 24 Element findChildElement(Element root, String name, [ElementKind kind]) { | 25 Element findChildElement(Element root, String name, [ElementKind kind]) { |
| 25 Element result = null; | 26 Element result = null; |
| 26 root.accept(new _ElementVisitorFunctionWrapper((Element element) { | 27 root.accept(new _ElementVisitorFunctionWrapper((Element element) { |
| 27 if (element.name != name) { | 28 if (element.name != name) { |
| 28 return; | 29 return; |
| 29 } | 30 } |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 44 | 45 |
| 45 class BaseAnalysisDriverTest { | 46 class BaseAnalysisDriverTest { |
| 46 final MemoryResourceProvider provider = new MemoryResourceProvider(); | 47 final MemoryResourceProvider provider = new MemoryResourceProvider(); |
| 47 DartSdk sdk; | 48 DartSdk sdk; |
| 48 final ByteStore byteStore = new MemoryByteStore(); | 49 final ByteStore byteStore = new MemoryByteStore(); |
| 49 final FileContentOverlay contentOverlay = new FileContentOverlay(); | 50 final FileContentOverlay contentOverlay = new FileContentOverlay(); |
| 50 | 51 |
| 51 final StringBuffer logBuffer = new StringBuffer(); | 52 final StringBuffer logBuffer = new StringBuffer(); |
| 52 PerformanceLog logger; | 53 PerformanceLog logger; |
| 53 | 54 |
| 55 final UriResolver generatedUriResolver = new _GeneratedUriResolverMock(); | |
| 54 AnalysisDriverScheduler scheduler; | 56 AnalysisDriverScheduler scheduler; |
| 55 AnalysisDriver driver; | 57 AnalysisDriver driver; |
| 56 final List<AnalysisStatus> allStatuses = <AnalysisStatus>[]; | 58 final List<AnalysisStatus> allStatuses = <AnalysisStatus>[]; |
| 57 final List<AnalysisResult> allResults = <AnalysisResult>[]; | 59 final List<AnalysisResult> allResults = <AnalysisResult>[]; |
| 60 final List<ExceptionResult> allExceptions = <ExceptionResult>[]; | |
| 58 | 61 |
| 59 String testProject; | 62 String testProject; |
| 60 String testFile; | 63 String testFile; |
| 61 String testCode; | 64 String testCode; |
| 62 | 65 |
| 63 void addTestFile(String content, {bool priority: false}) { | 66 void addTestFile(String content, {bool priority: false}) { |
| 64 testCode = content; | 67 testCode = content; |
| 65 provider.newFile(testFile, content); | 68 provider.newFile(testFile, content); |
| 66 driver.addFile(testFile); | 69 driver.addFile(testFile); |
| 67 if (priority) { | 70 if (priority) { |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 106 scheduler = new AnalysisDriverScheduler(logger); | 109 scheduler = new AnalysisDriverScheduler(logger); |
| 107 driver = new AnalysisDriver( | 110 driver = new AnalysisDriver( |
| 108 scheduler, | 111 scheduler, |
| 109 logger, | 112 logger, |
| 110 provider, | 113 provider, |
| 111 byteStore, | 114 byteStore, |
| 112 contentOverlay, | 115 contentOverlay, |
| 113 'test', | 116 'test', |
| 114 new SourceFactory([ | 117 new SourceFactory([ |
| 115 new DartUriResolver(sdk), | 118 new DartUriResolver(sdk), |
| 119 generatedUriResolver, | |
| 116 new PackageMapUriResolver(provider, <String, List<Folder>>{ | 120 new PackageMapUriResolver(provider, <String, List<Folder>>{ |
| 117 'test': [provider.getFolder(testProject)] | 121 'test': [provider.getFolder(testProject)] |
| 118 }), | 122 }), |
| 119 new ResourceUriResolver(provider) | 123 new ResourceUriResolver(provider) |
| 120 ], null, provider), | 124 ], null, provider), |
| 121 new AnalysisOptionsImpl()..strongMode = true); | 125 new AnalysisOptionsImpl()..strongMode = true); |
| 122 scheduler.start(); | 126 scheduler.start(); |
| 123 driver.status.listen(allStatuses.add); | 127 driver.status.listen(allStatuses.add); |
| 124 driver.results.listen(allResults.add); | 128 driver.results.listen(allResults.add); |
| 129 driver.exceptions.listen(allExceptions.add); | |
| 125 } | 130 } |
| 126 | 131 |
| 127 String _p(String path) => provider.convertPath(path); | 132 String _p(String path) => provider.convertPath(path); |
| 128 } | 133 } |
| 129 | 134 |
| 130 /** | 135 /** |
| 131 * Wraps an [_ElementVisitorFunction] into a [GeneralizingElementVisitor]. | 136 * Wraps an [_ElementVisitorFunction] into a [GeneralizingElementVisitor]. |
| 132 */ | 137 */ |
| 133 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor { | 138 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor { |
| 134 final _ElementVisitorFunction function; | 139 final _ElementVisitorFunction function; |
| 135 | 140 |
| 136 _ElementVisitorFunctionWrapper(this.function); | 141 _ElementVisitorFunctionWrapper(this.function); |
| 137 | 142 |
| 138 visitElement(Element element) { | 143 visitElement(Element element) { |
| 139 function(element); | 144 function(element); |
| 140 super.visitElement(element); | 145 super.visitElement(element); |
| 141 } | 146 } |
| 142 } | 147 } |
| 148 | |
| 149 class _GeneratedUriResolverMock extends TypedMock implements UriResolver {} | |
| OLD | NEW |