Index: test/codegen/lib/mirrors/intercepted_class_test.dart |
diff --git a/test/codegen/lib/mirrors/intercepted_class_test.dart b/test/codegen/lib/mirrors/intercepted_class_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..57a7737478fa607dfea64b3f818bae509754d8a4 |
--- /dev/null |
+++ b/test/codegen/lib/mirrors/intercepted_class_test.dart |
@@ -0,0 +1,35 @@ |
+// 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. |
+ |
+// Ensure that classes handled specially by dart2js can be reflected on. |
+ |
+library test.intercepted_class_test; |
+ |
+import 'dart:mirrors'; |
+ |
+import 'stringify.dart' show stringify, expect; |
+ |
+checkClassMirrorMethods(ClassMirror cls) { |
+ var variables = new Map(); |
+ cls.declarations.forEach((Symbol key, DeclarationMirror value) { |
+ if (value is VariableMirror && !value.isStatic && !value.isPrivate) { |
+ variables[key] = value; |
+ } |
+ }); |
+ expect('{}', variables); |
+} |
+ |
+checkClassMirror(ClassMirror cls, String name) { |
+ expect('s($name)', cls.simpleName); |
+ checkClassMirrorMethods(cls); |
+} |
+ |
+main() { |
+ checkClassMirror(reflectClass(String), 'String'); |
+ checkClassMirror(reflectClass(int), 'int'); |
+ checkClassMirror(reflectClass(double), 'double'); |
+ checkClassMirror(reflectClass(num), 'num'); |
+ checkClassMirror(reflectClass(bool), 'bool'); |
+ checkClassMirror(reflectClass(List), 'List'); |
+} |