| 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 @TestOn('vm') | 4 @TestOn('vm') |
| 5 library initialize.transformer_test; | 5 library initialize.transformer_test; |
| 6 | 6 |
| 7 import 'common.dart'; | 7 import 'common.dart'; |
| 8 import 'package:analyzer/dart/element/element.dart'; | 8 import 'package:analyzer/dart/element/element.dart'; |
| 9 import 'package:dart_style/dart_style.dart'; | 9 import 'package:dart_style/dart_style.dart'; |
| 10 import 'package:initialize/transformer.dart'; | 10 import 'package:initialize/transformer.dart'; |
| 11 import 'package:test/test.dart'; | 11 import 'package:test/test.dart'; |
| 12 | 12 |
| 13 var formatter = new DartFormatter(); | 13 var formatter = new DartFormatter(); |
| 14 | 14 |
| 15 main() { | 15 main() { |
| 16 group('Html entry points', htmlEntryPointTests); | 16 group('Html entry points', htmlEntryPointTests); |
| 17 group('Dart entry points', dartEntryPointTests); | 17 group('Dart entry points', dartEntryPointTests); |
| 18 group('InitializerPlugins', pluginTests); | 18 group('InitializerPlugins', pluginTests); |
| 19 } | 19 } |
| 20 | 20 |
| 21 void htmlEntryPointTests() { | 21 void htmlEntryPointTests() { |
| 22 var phases = [[new InitializeTransformer(['web/*.html'])]]; | 22 var phases = [ |
| 23 [ |
| 24 new InitializeTransformer(['web/*.html']) |
| 25 ] |
| 26 ]; |
| 23 | 27 |
| 24 testPhases('basic', phases, { | 28 testPhases('basic', phases, { |
| 25 'a|web/index.html': ''' | 29 'a|web/index.html': ''' |
| 26 <html><head></head><body> | 30 <html><head></head><body> |
| 27 <script type="application/dart" src="index.dart"></script> | 31 <script type="application/dart" src="index.dart"></script> |
| 28 </body></html> | 32 </body></html> |
| 29 '''.replaceAll(' ', ''), | 33 ''' |
| 34 .replaceAll(' ', ''), |
| 30 'a|web/index.dart': ''' | 35 'a|web/index.dart': ''' |
| 31 library web_foo; | 36 library web_foo; |
| 32 | 37 |
| 33 import 'foo.dart'; | 38 import 'foo.dart'; |
| 34 ''', | 39 ''', |
| 35 'a|web/foo.dart': ''' | 40 'a|web/foo.dart': ''' |
| 36 @constInit | 41 @constInit |
| 37 library foo; | 42 library foo; |
| 38 | 43 |
| 39 import 'package:initialize/initialize.dart'; | 44 import 'package:initialize/initialize.dart'; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 70 import 'package:test_initializers/common.dart'; | 75 import 'package:test_initializers/common.dart'; |
| 71 ''', | 76 ''', |
| 72 // Mock out the Initialize package plus some initializers. | 77 // Mock out the Initialize package plus some initializers. |
| 73 'initialize|lib/initialize.dart': mockInitialize, | 78 'initialize|lib/initialize.dart': mockInitialize, |
| 74 'test_initializers|lib/common.dart': commonInitializers, | 79 'test_initializers|lib/common.dart': commonInitializers, |
| 75 }, { | 80 }, { |
| 76 'a|web/index.html': ''' | 81 'a|web/index.html': ''' |
| 77 <html><head></head><body> | 82 <html><head></head><body> |
| 78 <script type="application/dart" src="index.initialize.dart"></script> | 83 <script type="application/dart" src="index.initialize.dart"></script> |
| 79 | 84 |
| 80 </body></html>'''.replaceAll(' ', ''), | 85 </body></html>''' |
| 86 .replaceAll(' ', ''), |
| 81 'a|web/index.initialize.dart': formatter.format(''' | 87 'a|web/index.initialize.dart': formatter.format(''' |
| 82 import 'package:initialize/src/static_loader.dart'; | 88 import 'package:initialize/src/static_loader.dart'; |
| 83 import 'package:initialize/initialize.dart'; | 89 import 'package:initialize/initialize.dart'; |
| 84 import 'index.dart' as i0; | 90 import 'index.dart' as i0; |
| 85 import 'package:bar/baz.dart' as i1; | 91 import 'package:bar/baz.dart' as i1; |
| 86 import 'package:test_initializers/common.dart' as i2; | 92 import 'package:test_initializers/common.dart' as i2; |
| 87 import 'package:bar/bar.dart' as i3; | 93 import 'package:bar/bar.dart' as i3; |
| 88 import 'package:initialize/initialize.dart' as i4; | 94 import 'package:initialize/initialize.dart' as i4; |
| 89 import 'foo.dart' as i5; | 95 import 'foo.dart' as i5; |
| 90 | 96 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 102 new InitEntry(i2.constInit, i5.Foo), | 108 new InitEntry(i2.constInit, i5.Foo), |
| 103 ]); | 109 ]); |
| 104 | 110 |
| 105 return i0.main(); | 111 return i0.main(); |
| 106 } | 112 } |
| 107 ''') | 113 ''') |
| 108 }, []); | 114 }, []); |
| 109 } | 115 } |
| 110 | 116 |
| 111 void dartEntryPointTests() { | 117 void dartEntryPointTests() { |
| 112 var phases = [[new InitializeTransformer(['web/index.dart'])]]; | 118 var phases = [ |
| 119 [ |
| 120 new InitializeTransformer(['web/index.dart']) |
| 121 ] |
| 122 ]; |
| 113 | 123 |
| 114 testPhases('constructor arguments', phases, { | 124 testPhases('constructor arguments', phases, { |
| 115 'a|web/index.dart': ''' | 125 'a|web/index.dart': ''' |
| 116 @DynamicInit(foo) | 126 @DynamicInit(foo) |
| 117 @DynamicInit(_foo) | 127 @DynamicInit(_foo) |
| 118 @DynamicInit(Foo.foo) | 128 @DynamicInit(Foo.foo) |
| 119 @DynamicInit(bar.Foo.bar) | 129 @DynamicInit(bar.Foo.bar) |
| 120 @DynamicInit(bar.Foo.foo) | 130 @DynamicInit(bar.Foo.foo) |
| 121 @DynamicInit(const [foo, Foo.foo, 'foo']) | 131 @DynamicInit(const [foo, Foo.foo, 'foo']) |
| 122 @DynamicInit(const {'foo': foo, 'Foo.foo': Foo.foo, 'bar': 'bar'}) | 132 @DynamicInit(const {'foo': foo, 'Foo.foo': Foo.foo, 'bar': 'bar'}) |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 initializers.addAll([ | 420 initializers.addAll([ |
| 411 new InitEntry(i2.initMethod, i1.foo), | 421 new InitEntry(i2.initMethod, i1.foo), |
| 412 new InitEntry(i2.initMethod, i0.index), | 422 new InitEntry(i2.initMethod, i0.index), |
| 413 ]); | 423 ]); |
| 414 | 424 |
| 415 return i0.main(); | 425 return i0.main(); |
| 416 } | 426 } |
| 417 ''') | 427 ''') |
| 418 }, []); | 428 }, []); |
| 419 } | 429 } |
| OLD | NEW |