Index: test/codegen/lib/mirrors/to_string_test.dart |
diff --git a/test/codegen/lib/mirrors/to_string_test.dart b/test/codegen/lib/mirrors/to_string_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8344bc4de7fa245445f2b7bd9b7af4b832f6c6eb |
--- /dev/null |
+++ b/test/codegen/lib/mirrors/to_string_test.dart |
@@ -0,0 +1,32 @@ |
+// Copyright (c) 2013, 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. |
+ |
+library test.to_string_test; |
+ |
+import 'dart:mirrors'; |
+ |
+import 'package:expect/expect.dart'; |
+ |
+expect(expected, actual) => Expect.stringEquals(expected, '$actual'); |
+ |
+class Foo { |
+ var field; |
+ method() {} |
+} |
+ |
+main() { |
+ var mirrors = currentMirrorSystem(); |
+ expect("TypeMirror on 'dynamic'", mirrors.dynamicType); |
+ expect("TypeMirror on 'void'", mirrors.voidType); |
+ expect("LibraryMirror on 'test.to_string_test'", |
+ mirrors.findLibrary(#test.to_string_test)); |
+ expect("InstanceMirror on 1", reflect(1)); |
+ expect("ClassMirror on 'Foo'", reflectClass(Foo)); |
+ expect("VariableMirror on 'field'", |
+ reflectClass(Foo).declarations[#field]); |
+ expect("MethodMirror on 'method'", |
+ reflectClass(Foo).declarations[#method]); |
+ String s = reflect(main).toString(); |
+ Expect.isTrue(s.startsWith("ClosureMirror on '"), s); |
+} |