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

Side by Side Diff: packages/analyzer/test/src/context/abstract_context.dart

Issue 2990843002: Removed fixed dependencies (Closed)
Patch Set: Created 3 years, 4 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) 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 test.src.task.abstract_context_test; 5 library analyzer.test.src.context.abstract_context;
6 6
7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/element/element.dart';
9 import 'package:analyzer/dart/element/visitor.dart';
7 import 'package:analyzer/file_system/file_system.dart'; 10 import 'package:analyzer/file_system/file_system.dart';
8 import 'package:analyzer/file_system/memory_file_system.dart'; 11 import 'package:analyzer/file_system/memory_file_system.dart';
9 import 'package:analyzer/src/context/cache.dart'; 12 import 'package:analyzer/src/context/cache.dart';
10 import 'package:analyzer/src/context/context.dart'; 13 import 'package:analyzer/src/context/context.dart';
11 import 'package:analyzer/src/generated/element.dart'; 14 import 'package:analyzer/src/generated/engine.dart';
12 import 'package:analyzer/src/generated/engine.dart'
13 hide AnalysisCache, AnalysisContextImpl, AnalysisTask;
14 import 'package:analyzer/src/generated/sdk.dart'; 15 import 'package:analyzer/src/generated/sdk.dart';
15 import 'package:analyzer/src/generated/source.dart'; 16 import 'package:analyzer/src/generated/source.dart';
16 import 'package:analyzer/src/task/driver.dart'; 17 import 'package:analyzer/src/task/driver.dart';
17 import 'package:analyzer/task/model.dart'; 18 import 'package:analyzer/task/model.dart';
19 import 'package:plugin/manager.dart';
20 import 'package:plugin/plugin.dart';
18 import 'package:unittest/unittest.dart'; 21 import 'package:unittest/unittest.dart';
19 22
20 import 'mock_sdk.dart'; 23 import 'mock_sdk.dart';
21 24
25 /**
26 * Finds an [Element] with the given [name].
27 */
28 Element findChildElement(Element root, String name, [ElementKind kind]) {
29 Element result = null;
30 root.accept(new _ElementVisitorFunctionWrapper((Element element) {
31 if (element.name != name) {
32 return;
33 }
34 if (kind != null && element.kind != kind) {
35 return;
36 }
37 result = element;
38 }));
39 return result;
40 }
41
42 /**
43 * A function to be called for every [Element].
44 */
45 typedef void _ElementVisitorFunction(Element element);
46
22 class AbstractContextTest { 47 class AbstractContextTest {
48 static final MockSdk SHARED_MOCK_SDK = new MockSdk();
49 static final MockSdk SHARED_STRONG_MOCK_SDK = new MockSdk();
50
23 MemoryResourceProvider resourceProvider = new MemoryResourceProvider(); 51 MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
24 52
25 DartSdk sdk = new MockSdk(); 53 DartSdk sdk;
26 SourceFactory sourceFactory; 54 SourceFactory sourceFactory;
27 AnalysisContextImpl context; 55 AnalysisContextImpl context;
28 AnalysisCache analysisCache; 56 AnalysisCache analysisCache;
29 AnalysisDriver analysisDriver; 57 AnalysisDriver analysisDriver;
30 58
59 UriResolver sdkResolver;
60 UriResolver resourceResolver;
61
31 AnalysisTask task; 62 AnalysisTask task;
32 Map<ResultDescriptor<dynamic>, dynamic> oldOutputs; 63 Map<ResultDescriptor<dynamic>, dynamic> oldOutputs;
33 Map<ResultDescriptor<dynamic>, dynamic> outputs; 64 Map<ResultDescriptor<dynamic>, dynamic> outputs;
34 65
35 Source addSource(String path, String contents) { 66 Source addSource(String path, String contents) {
36 Source source = newSource(path, contents); 67 Source source = newSource(path, contents);
37 ChangeSet changeSet = new ChangeSet(); 68 ChangeSet changeSet = new ChangeSet();
38 changeSet.addedSource(source); 69 changeSet.addedSource(source);
39 context.applyChanges(changeSet); 70 context.applyChanges(changeSet);
40 return source; 71 return source;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 outputs = task.outputs; 116 outputs = task.outputs;
86 for (ResultDescriptor descriptor in task.descriptor.results) { 117 for (ResultDescriptor descriptor in task.descriptor.results) {
87 expect(outputs, contains(descriptor)); 118 expect(outputs, contains(descriptor));
88 } 119 }
89 } 120 }
90 121
91 AnalysisContextImpl createAnalysisContext() { 122 AnalysisContextImpl createAnalysisContext() {
92 return new AnalysisContextImpl(); 123 return new AnalysisContextImpl();
93 } 124 }
94 125
126 DartSdk createDartSdk() => new MockSdk(resourceProvider: resourceProvider);
127
95 Source newSource(String path, [String content = '']) { 128 Source newSource(String path, [String content = '']) {
96 File file = resourceProvider.newFile(path, content); 129 File file = resourceProvider.newFile(path, content);
97 return file.createSource(); 130 return file.createSource();
98 } 131 }
99 132
100 List<Source> newSources(Map<String, String> sourceMap) { 133 List<Source> newSources(Map<String, String> sourceMap) {
101 List<Source> sources = <Source>[]; 134 List<Source> sources = <Source>[];
102 sourceMap.forEach((String path, String content) { 135 sourceMap.forEach((String path, String content) {
103 Source source = newSource(path, content); 136 Source source = newSource(path, content);
104 sources.add(source); 137 sources.add(source);
105 }); 138 });
106 return sources; 139 return sources;
107 } 140 }
108 141
109 void prepareAnalysisContext([AnalysisOptions options]) { 142 void prepareAnalysisContext([AnalysisOptions options]) {
110 sourceFactory = new SourceFactory(<UriResolver>[ 143 sdk = createDartSdk();
111 new DartUriResolver(sdk), 144 sdkResolver = new DartUriResolver(sdk);
112 new ResourceUriResolver(resourceProvider) 145 resourceResolver = new ResourceUriResolver(resourceProvider);
113 ]); 146 sourceFactory = new SourceFactory(
147 <UriResolver>[sdkResolver, resourceResolver], null, resourceProvider);
114 context = createAnalysisContext(); 148 context = createAnalysisContext();
115 if (options != null) { 149 if (options != null) {
116 context.analysisOptions = options; 150 context.analysisOptions = options;
117 } 151 }
118 context.sourceFactory = sourceFactory; 152 context.sourceFactory = sourceFactory;
119 analysisCache = context.analysisCache; 153 analysisCache = context.analysisCache;
120 analysisDriver = context.driver; 154 analysisDriver = context.driver;
121 } 155 }
122 156
157 CompilationUnit resolveLibraryUnit(Source source) {
158 return context.resolveCompilationUnit2(source, source);
159 }
160
123 void setUp() { 161 void setUp() {
162 List<Plugin> plugins = <Plugin>[];
163 plugins.addAll(AnalysisEngine.instance.requiredPlugins);
164 plugins.add(AnalysisEngine.instance.commandLinePlugin);
165 plugins.add(AnalysisEngine.instance.optionsPlugin);
166
167 ExtensionManager manager = new ExtensionManager();
168 manager.processPlugins(plugins);
169
124 prepareAnalysisContext(); 170 prepareAnalysisContext();
125 } 171 }
126 172
127 void tearDown() {} 173 void tearDown() {}
128 } 174 }
175
176 /**
177 * Wraps the given [_ElementVisitorFunction] into an instance of
178 * [GeneralizingElementVisitor].
179 */
180 class _ElementVisitorFunctionWrapper extends GeneralizingElementVisitor {
181 final _ElementVisitorFunction function;
182
183 _ElementVisitorFunctionWrapper(this.function);
184
185 visitElement(Element element) {
186 function(element);
187 super.visitElement(element);
188 }
189 }
OLDNEW
« no previous file with comments | « packages/analyzer/test/src/abstract_single_unit.dart ('k') | packages/analyzer/test/src/context/builder_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698