| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // @dart = 2.7 |
| |
| import "package:expect/expect.dart"; |
| |
| // Check that Type instances work with maps. This behavior is not required by |
| // the specification. |
| |
| class A {} |
| |
| class B<T> {} |
| |
| main() { |
| Map<Type, String> map = new Map<Type, String>(); |
| Type a = new A().runtimeType; |
| Type b1 = new B<int>().runtimeType; |
| Type b2 = new B<String>().runtimeType; |
| map[a] = 'A'; |
| map[b1] = 'B<int>'; |
| map[b2] = 'B<String>'; |
| Expect.equals('A', map[new A().runtimeType]); |
| Expect.equals('B<int>', map[new B<int>().runtimeType]); |
| Expect.equals('B<String>', map[new B<String>().runtimeType]); |
| } |