OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import "package:expect/expect.dart"; | |
6 | |
7 // Check that Type instances work with maps. This behavior is not required by | 5 // Check that Type instances work with maps. This behavior is not required by |
8 // the specification. | 6 // the specification. |
9 | 7 |
10 class A {} | 8 class A {} |
11 | 9 |
12 class B<T> {} | 10 class B<T> {} |
13 | 11 |
14 main() { | 12 main() { |
15 Map<Type, String> map = new Map<Type, String>(); | 13 Map<Type, String> map = new Map<Type, String>(); |
16 Type a = new A().runtimeType; | 14 Type a = new A().runtimeType; |
17 Type b1 = new B<int>().runtimeType; | 15 Type b1 = new B<int>().runtimeType; |
18 Type b2 = new B<String>().runtimeType; | 16 Type b2 = new B<String>().runtimeType; |
19 map[a] = 'A'; | 17 map[a] = 'A'; |
20 map[b1] = 'B<int>'; | 18 map[b1] = 'B<int>'; |
21 map[b2] = 'B<String>'; | 19 map[b2] = 'B<String>'; |
22 Expect.equals('A', map[new A().runtimeType]); | 20 Expect.equals('A', map[new A().runtimeType]); |
23 Expect.equals('B<int>', map[new B<int>().runtimeType]); | 21 Expect.equals('B<int>', map[new B<int>().runtimeType]); |
24 Expect.equals('B<String>', map[new B<String>().runtimeType]); | 22 Expect.equals('B<String>', map[new B<String>().runtimeType]); |
25 } | 23 } |
OLD | NEW |