OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 // Test verifying that the type argument vector of subclasses are properly | 5 // Test verifying that the type argument vector of subclasses are properly |
6 // initialized by the class finalizer. | 6 // initialized by the class finalizer. |
7 | 7 |
| 8 import "package:expect/expect.dart"; |
| 9 |
8 class A<T> { A(); } | 10 class A<T> { A(); } |
9 class B extends A<Object> { B(); } | 11 class B extends A<Object> { B(); } |
10 class C extends B { C(); } | 12 class C extends B { C(); } |
11 | 13 |
12 main() { | 14 main() { |
13 var a = new A<String>(); | 15 var a = new A<String>(); |
14 var b = new B(); | 16 var b = new B(); |
15 var c = new C(); | 17 var c = new C(); |
16 Expect.isTrue(a is Object); | 18 Expect.isTrue(a is Object); |
17 Expect.isTrue(a is A<Object>); | 19 Expect.isTrue(a is A<Object>); |
18 Expect.isTrue(a is A<String>); | 20 Expect.isTrue(a is A<String>); |
19 Expect.isTrue(a is !A<int>); | 21 Expect.isTrue(a is !A<int>); |
20 Expect.isTrue(b is Object); | 22 Expect.isTrue(b is Object); |
21 Expect.isTrue(b is A<Object>); | 23 Expect.isTrue(b is A<Object>); |
22 Expect.isTrue(b is !A<String>); | 24 Expect.isTrue(b is !A<String>); |
23 Expect.isTrue(b is Object); | 25 Expect.isTrue(b is Object); |
24 Expect.isTrue(c is Object); | 26 Expect.isTrue(c is Object); |
25 Expect.isTrue(c is A<Object>); | 27 Expect.isTrue(c is A<Object>); |
26 Expect.isTrue(c is !A<String>); | 28 Expect.isTrue(c is !A<String>); |
27 Expect.isTrue(c is B); | 29 Expect.isTrue(c is B); |
28 } | 30 } |
OLD | NEW |