Chromium Code Reviews| Index: tests/language/first_class_types_literals_test.dart |
| diff --git a/tests/language/first_class_types_literals_test.dart b/tests/language/first_class_types_literals_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8aa3b5d78e7ae6a0bddbc5e46194fe3c786ce492 |
| --- /dev/null |
| +++ b/tests/language/first_class_types_literals_test.dart |
| @@ -0,0 +1,37 @@ |
| +// 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. |
|
ngeoffray
2012/11/01 09:57:59
Please also check SendSet like:
C = 42;
karlklose
2012/11/01 14:34:20
Done.
|
| + |
| +class C<T> {} |
| + |
| +class D {} |
| + |
| +typedef int Foo(bool b); |
| + |
| +sameType(a, b) { |
| + Expect.identical(a.runtimeType, b.runtimeType); |
| +} |
| + |
| +differentType(a, b) { |
| + print("a: ${a.runtimeType}"); |
| + print("b: ${b.runtimeType}"); |
| + Expect.isFalse(a.runtimeType === b.runtimeType); |
| +} |
| + |
| +main() { |
| + // Test type literals. |
| + Expect.identical(int, int); |
| + Expect.isFalse(int === num); |
| + Expect.identical(Foo, Foo); |
| + |
| + // Test that class literals return instances of Type. |
| + Expect.isTrue((D).runtimeType is Type); |
| + |
| + // Test that types from runtimeType and literals agree. |
| + Expect.identical(int, 1.runtimeType); |
| + Expect.identical(C, new C().runtimeType); |
| + Expect.identical(D, new D().runtimeType); |
| + |
| + // runtimeType on type is idempotent. |
| + Expect.identical((D).runtimeType, (D).runtimeType.runtimeType); |
| +} |