Chromium Code Reviews| Index: test/transformer_test.dart |
| diff --git a/test/transformer_test.dart b/test/transformer_test.dart |
| index b27069a5423e34a12176bdc8a1f05733946cc532..0a35a3ecdc9b4c9c661b54cc141c2f28c1425523 100644 |
| --- a/test/transformer_test.dart |
| +++ b/test/transformer_test.dart |
| @@ -13,84 +13,121 @@ main() { |
| var transformer = |
| new InitializeTransformer('web/index.dart', 'web/index.bootstrap.dart'); |
| - testPhases('transformer', [[transformer]], { |
| + testPhases('basic', [[transformer]], { |
| 'a|web/index.dart': ''' |
| - library web_foo; |
| + library web_foo; |
| - import 'foo.dart'; |
| - ''', |
| + import 'foo.dart'; |
| + ''', |
| 'a|web/foo.dart': ''' |
| - @constInit |
| - library foo; |
| + @constInit |
| + library foo; |
| - import 'package:initialize/initialize.dart'; |
| - import 'package:bar/bar.dart'; |
| + import 'package:initialize/initialize.dart'; |
| + import 'package:bar/bar.dart'; |
| - @constInit |
| - class Foo extends Bar {} |
| + @constInit |
| + class Foo extends Bar {} |
| - @initMethod |
| - foo() {} |
| - ''', |
| + @initMethod |
| + foo() {} |
| + ''', |
| 'bar|lib/bar.dart': ''' |
| - @DynamicInit('bar') |
| - @DynamicInit('bar2') |
| - library bar; |
| + @DynamicInit('bar') |
| + @DynamicInit('bar2') |
| + library bar; |
| - import 'package:initialize/initialize.dart'; |
| + import 'package:initialize/initialize.dart'; |
| - @DynamicInit('Bar') |
| - @DynamicInit('Bar2') |
| - class Bar {} |
| + @DynamicInit('Bar') |
| + @DynamicInit('Bar2') |
| + class Bar {} |
| - @DynamicInit('bar()') |
| - @initMethod |
| - bar() {} |
| - ''', |
| + @DynamicInit('bar()') |
| + @initMethod |
| + bar() {} |
| + ''', |
| // Mock out the Initialize package plus some initializers. |
| - 'initialize|lib/initialize.dart': ''' |
| - library initialize; |
| - |
| - abstract class Initializer<T> {} |
| - |
| - class _ConstInit extends Initializer<dynamic> { |
| - const ConstInit(); |
| - } |
| - const _ConstInit constInit = const _ConstInit(); |
| - |
| - class DynamicInit extends Initializer<dynamic> { |
| - final String _name; |
| - const DynamicInit(this._name); |
| - } |
| - |
| - class _InitMethod implements Initializer<Function> { |
| - const _InitMethod(); |
| - } |
| - const _InitMethod initMethod = const _InitMethod(); |
| - ''' |
| + 'initialize|lib/initialize.dart': mockInitialize |
| }, { |
| 'a|web/index.bootstrap.dart': ''' |
| - import 'package:initialize/src/static_loader.dart'; |
| - import 'index.dart' as i0; |
| - import 'package:bar/bar.dart' as i1; |
| - import 'package:initialize/initialize.dart' as i2; |
| - import 'foo.dart' as i3; |
| - |
| - main() { |
| - initializers.addAll([ |
| - new InitEntry(const i2.DynamicInit('bar'), #bar), |
| - new InitEntry(const i2.DynamicInit('bar2'), #bar), |
| - new InitEntry(const i2.DynamicInit('bar()'), i1.bar), |
| - new InitEntry(i2.initMethod, i1.bar), |
| - new InitEntry(const i2.DynamicInit('Bar'), i1.Bar), |
| - new InitEntry(const i2.DynamicInit('Bar2'), i1.Bar), |
| - new InitEntry(i2.constInit, #foo), |
| - new InitEntry(i2.initMethod, i3.foo), |
| - new InitEntry(i2.constInit, i3.Foo), |
| - ]); |
| - |
| - i0.main(); |
| - } |
| - '''.replaceAll(' ', '') |
| + import 'package:initialize/src/static_loader.dart'; |
| + import 'index.dart' as i0; |
| + import 'package:bar/bar.dart' as i1; |
| + import 'package:initialize/initialize.dart' as i2; |
| + import 'foo.dart' as i3; |
| + |
| + main() { |
| + initializers.addAll([ |
| + new InitEntry(const i2.DynamicInit('bar'), #bar), |
| + new InitEntry(const i2.DynamicInit('bar2'), #bar), |
| + new InitEntry(const i2.DynamicInit('bar()'), i1.bar), |
| + new InitEntry(i2.initMethod, i1.bar), |
| + new InitEntry(const i2.DynamicInit('Bar'), i1.Bar), |
| + new InitEntry(const i2.DynamicInit('Bar2'), i1.Bar), |
| + new InitEntry(i2.constInit, #foo), |
| + new InitEntry(i2.initMethod, i3.foo), |
| + new InitEntry(i2.constInit, i3.Foo), |
| + ]); |
| + |
| + i0.main(); |
| + } |
| + '''.replaceAll(' ', '') |
| + }); |
| + |
| + testPhases('constructor arguments', [[transformer]], { |
| + 'a|web/index.dart': ''' |
| + @DynamicInit(foo) |
| + @DynamicInit(Foo.foo) |
| + @DynamicInit([foo, Foo.foo, 'foo']) |
|
Siggi Cherem (dart-lang)
2015/01/23 17:56:28
this would become invalid :)
jakemac
2015/01/23 21:34:39
Done.
|
| + @DynamicInit(const [foo, Foo.foo, 'foo']) |
|
Siggi Cherem (dart-lang)
2015/01/23 17:56:28
DynamicInit takes a String argument, maybe change
jakemac
2015/01/23 21:34:38
Done.
|
| + @DynamicInit({'foo': foo, 'Foo.foo': Foo.foo, 'bar': 'bar'}) |
| + @DynamicInit(const {'foo': foo, 'Foo.foo': Foo.foo, 'bar': 'bar'}) |
| + @DynamicInit('foo') |
| + @DynamicInit(true) |
| + @DynamicInit(null) |
| + @DynamicInit(1) |
| + @DynamicInit(1.1) |
| + library web_foo; |
| + |
| + import 'package:initialize/initialize.dart'; |
| + import 'foo.dart'; |
| + ''', |
| + 'a|web/foo.dart': ''' |
| + library foo; |
| + |
| + const String foo = 'foo'; |
| + |
| + class Foo { |
| + static foo = 'Foo.foo'; |
| + } |
| + ''', |
| + // Mock out the Initialize package plus some initializers. |
| + 'initialize|lib/initialize.dart': mockInitialize |
| + }, { |
| + 'a|web/index.bootstrap.dart': ''' |
| + import 'package:initialize/src/static_loader.dart'; |
| + import 'index.dart' as i0; |
| + import 'package:initialize/initialize.dart' as i1; |
| + import 'foo.dart' as i2; |
| + |
| + main() { |
| + initializers.addAll([ |
| + new InitEntry(const i1.DynamicInit(i2.foo), #web_foo), |
| + new InitEntry(const i1.DynamicInit(i2.Foo.foo), #web_foo), |
| + new InitEntry(const i1.DynamicInit([i2.foo, i2.Foo.foo, 'foo']), #web_foo), |
| + new InitEntry(const i1.DynamicInit(const [i2.foo, i2.Foo.foo, 'foo']), #web_foo), |
| + new InitEntry(const i1.DynamicInit({'foo': i2.foo, 'Foo.foo': i2.Foo.foo, 'bar': 'bar'}), #web_foo), |
| + new InitEntry(const i1.DynamicInit(const {'foo': i2.foo, 'Foo.foo': i2.Foo.foo, 'bar': 'bar'}), #web_foo), |
| + new InitEntry(const i1.DynamicInit('foo'), #web_foo), |
| + new InitEntry(const i1.DynamicInit(true), #web_foo), |
| + new InitEntry(const i1.DynamicInit(null), #web_foo), |
| + new InitEntry(const i1.DynamicInit(1), #web_foo), |
| + new InitEntry(const i1.DynamicInit(1.1), #web_foo), |
| + ]); |
| + |
| + i0.main(); |
| + } |
| + '''.replaceAll(' ', '') |
| }); |
| } |