OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Dart test program for constructors and initializers. | 4 // Dart test program for constructors and initializers. |
5 | 5 |
6 // Check negative function subtyping tests. | 6 // Check negative function subtyping tests. |
7 | 7 |
8 import 'package:expect/expect.dart'; | 8 import 'package:expect/expect.dart'; |
9 | 9 |
10 typedef void Foo<T>(T t); | 10 typedef void Foo<T>(T t); |
11 typedef void Bar(int i); | 11 typedef void Bar(int i); |
12 | 12 |
13 class Class<T> { | 13 class Class<T> { |
14 test(bool expectedResult, var o, String typeName) { | 14 test(bool expectedResult, var o, String typeName) { |
15 void local() { | 15 void local() { |
16 Expect.equals(expectedResult, o is! Foo<T>, "bar is! Foo<$typeName>"); | 16 Expect.equals(expectedResult, o is! Foo<T>, "bar is! Foo<$typeName>"); |
17 Expect.isFalse(o is! Bar, "bar is! Bar"); | 17 Expect.isFalse(o is! Bar, "bar is! Bar"); |
18 } | 18 } |
| 19 |
19 local(); | 20 local(); |
20 } | 21 } |
21 } | 22 } |
22 | 23 |
23 void bar(int i) {} | 24 void bar(int i) {} |
24 | 25 |
25 void main() { | 26 void main() { |
26 new Class().test(false, bar, "dynamic"); | 27 new Class().test(false, bar, "dynamic"); |
27 new Class<int>().test(false, bar, "int"); | 28 new Class<int>().test(false, bar, "int"); |
28 new Class<bool>().test(true, bar, "bool"); | 29 new Class<bool>().test(true, bar, "bool"); |
29 } | 30 } |
OLD | NEW |