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 @initializeTracker | 4 library initialize.initializer_super_test; |
5 library initialize.initializer_parts_test; | |
6 | 5 |
7 import 'package:initialize/src/initialize_tracker.dart'; | 6 import 'package:initialize/src/initialize_tracker.dart'; |
8 import 'package:initialize/initialize.dart'; | 7 import 'package:initialize/initialize.dart'; |
9 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
10 import 'package:unittest/compact_vm_config.dart'; | 9 import 'package:unittest/compact_vm_config.dart'; |
11 | 10 |
12 part 'parts/foo.dart'; | |
13 part 'parts/bar.dart'; | |
14 | |
15 main() { | 11 main() { |
16 useCompactVMConfiguration(); | 12 useCompactVMConfiguration(); |
17 | 13 |
18 // Run all initializers. | 14 // Run all initializers. |
19 run().then((_) { | 15 run().then((_) { |
20 test('parts', () { | 16 test('annotations are seen in post-order with superclasses first', () { |
21 var expectedNames = [ | 17 var expectedNames = [A, C, B, E, D,]; |
22 const LibraryIdentifier(#initialize.initializer_parts_test, null, 'initi
alizer_parts_test.dart'), | |
23 bar2, | |
24 bar, | |
25 foo, | |
26 baz, | |
27 Bar2, | |
28 Bar, | |
29 Foo, | |
30 Baz, | |
31 ]; | |
32 expect(InitializeTracker.seen, expectedNames); | 18 expect(InitializeTracker.seen, expectedNames); |
33 }); | 19 }); |
34 }); | 20 }); |
35 } | 21 } |
36 | 22 |
37 @initializeTracker | 23 @initializeTracker |
38 class Baz {} | 24 class D extends E {} |
39 | 25 |
40 @initializeTracker | 26 @initializeTracker |
41 baz() {} | 27 class E extends B {} |
| 28 |
| 29 @initializeTracker |
| 30 class B extends C {} |
| 31 |
| 32 @initializeTracker |
| 33 class C extends A {} |
| 34 |
| 35 @initializeTracker |
| 36 class A {} |
OLD | NEW |