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

Side by Side Diff: test/transformer_test.dart

Issue 973073003: fix a few issues around exported libraries (Closed) Base URL: git@github.com:dart-lang/static-init.git@master
Patch Set: use .path instead of .toString Created 5 years, 9 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
« no previous file with comments | « pubspec.yaml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 library initialize.transformer_test; 4 library initialize.transformer_test;
5 5
6 import 'common.dart'; 6 import 'common.dart';
7 import 'package:analyzer/src/generated/element.dart'; 7 import 'package:analyzer/src/generated/element.dart';
8 import 'package:dart_style/dart_style.dart'; 8 import 'package:dart_style/dart_style.dart';
9 import 'package:initialize/transformer.dart'; 9 import 'package:initialize/transformer.dart';
10 import 'package:unittest/compact_vm_config.dart'; 10 import 'package:unittest/compact_vm_config.dart';
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 new InitEntry(const i1.DynamicInit(3), const LibraryIdentifier(#web_ foo, null, 'index.dart')), 186 new InitEntry(const i1.DynamicInit(3), const LibraryIdentifier(#web_ foo, null, 'index.dart')),
187 new InitEntry(const i1.DynamicInit(1.2), const LibraryIdentifier(#we b_foo, null, 'index.dart')), 187 new InitEntry(const i1.DynamicInit(1.2), const LibraryIdentifier(#we b_foo, null, 'index.dart')),
188 new InitEntry(const i1.DynamicInit(true), const LibraryIdentifier(#w eb_foo, null, 'index.dart')), 188 new InitEntry(const i1.DynamicInit(true), const LibraryIdentifier(#w eb_foo, null, 'index.dart')),
189 new InitEntry(const i1.NamedArgInit(1, name: 'Bill'), const LibraryI dentifier(#web_foo, null, 'index.dart')), 189 new InitEntry(const i1.NamedArgInit(1, name: 'Bill'), const LibraryI dentifier(#web_foo, null, 'index.dart')),
190 ]); 190 ]);
191 191
192 i0.main(); 192 i0.main();
193 } 193 }
194 ''') 194 ''')
195 }, []); 195 }, []);
196
197 testPhases('exported library annotations', phases, {
198 'a|web/index.dart': '''
199 library web_foo;
200
201 export 'foo.dart';
202 ''',
203 'a|web/foo.dart': '''
204 @constInit
205 library foo;
206
207 import 'package:test_initializers/common.dart';
208
209 @constInit
210 foo() {};
211
212 @constInit
213 class Foo {}
214 ''',
215 // Mock out the Initialize package plus some initializers.
216 'initialize|lib/initialize.dart': mockInitialize,
217 'test_initializers|lib/common.dart': commonInitializers,
218 }, {
219 'a|web/index.initialize.dart': formatter.format('''
220 import 'package:initialize/src/static_loader.dart';
221 import 'package:initialize/initialize.dart';
222 import 'index.dart' as i0;
223 import 'foo.dart' as i1;
224 import 'package:test_initializers/common.dart' as i2;
225
226 main() {
227 initializers.addAll([
228 new InitEntry(i2.constInit, const LibraryIdentifier(#foo, null, 'foo .dart')),
229 new InitEntry(i2.constInit, i1.foo),
230 new InitEntry(i2.constInit, i1.Foo),
231 ]);
232
233 i0.main();
234 }
235 ''')
236 }, []);
237
238 testPhases('imports from exported libraries', phases, {
239 'a|web/index.dart': '''
240 library web_foo;
241
242 export 'foo.dart';
243 ''',
244 'a|web/foo.dart': '''
245 library foo;
246
247 import 'bar.dart';
248 ''',
249 'a|web/bar.dart': '''
250 @constInit
251 library bar;
252
253 import 'package:test_initializers/common.dart';
254
255 @constInit
256 bar() {};
257
258 @constInit
259 class Bar {}
260 ''',
261 // Mock out the Initialize package plus some initializers.
262 'initialize|lib/initialize.dart': mockInitialize,
263 'test_initializers|lib/common.dart': commonInitializers,
264 }, {
265 'a|web/index.initialize.dart': formatter.format('''
266 import 'package:initialize/src/static_loader.dart';
267 import 'package:initialize/initialize.dart';
268 import 'index.dart' as i0;
269 import 'bar.dart' as i1;
270 import 'package:test_initializers/common.dart' as i2;
271
272 main() {
273 initializers.addAll([
274 new InitEntry(i2.constInit, const LibraryIdentifier(#bar, null, 'bar .dart')),
275 new InitEntry(i2.constInit, i1.bar),
276 new InitEntry(i2.constInit, i1.Bar),
277 ]);
278
279 i0.main();
280 }
281 ''')
282 }, []);
196 } 283 }
197 284
198 class SkipConstructorsPlugin extends InitializerPlugin { 285 class SkipConstructorsPlugin extends InitializerPlugin {
199 bool shouldApply(InitializerPluginData data) { 286 bool shouldApply(InitializerPluginData data) {
200 return data.initializer.annotationElement.element is ConstructorElement; 287 return data.initializer.annotationElement.element is ConstructorElement;
201 } 288 }
202 289
203 String apply(_) => null; 290 String apply(_) => null;
204 } 291 }
205 292
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 initializers.addAll([ 336 initializers.addAll([
250 new InitEntry(i2.initMethod, i1.foo), 337 new InitEntry(i2.initMethod, i1.foo),
251 new InitEntry(i2.initMethod, i0.index), 338 new InitEntry(i2.initMethod, i0.index),
252 ]); 339 ]);
253 340
254 i0.main(); 341 i0.main();
255 } 342 }
256 ''') 343 ''')
257 }, []); 344 }, []);
258 } 345 }
OLDNEW
« no previous file with comments | « pubspec.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698