Index: tests/lib/mirrors/closurization_equivalence_test.dart |
diff --git a/tests/lib/mirrors/closurization_equivalence_test.dart b/tests/lib/mirrors/closurization_equivalence_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0701fc7a6969ad18317f68116b9f9aba8e135561 |
--- /dev/null |
+++ b/tests/lib/mirrors/closurization_equivalence_test.dart |
@@ -0,0 +1,27 @@ |
+// Copyright (c) 2015, 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. |
+ |
+import 'dart:mirrors'; |
+import 'package:expect/expect.dart'; |
+ |
+topLevelMethod() {} |
+class C { |
+ static staticMethod() {} |
+ instanceMethod() {} |
+} |
+ |
+main() { |
+ LibraryMirror thisLibrary = reflectClass(C).owner; |
+ Expect.equals(thisLibrary.declarations[#topLevelMethod], |
+ (reflect(topLevelMethod) as ClosureMirror).function, |
+ "topLevel"); |
+ |
+ Expect.equals(reflectClass(C).declarations[#staticMethod], |
+ (reflect(C.staticMethod) as ClosureMirror).function, |
+ "static"); |
+ |
+ Expect.equals(reflectClass(C).declarations[#instanceMethod], |
+ (reflect(new C().instanceMethod) as ClosureMirror).function, |
+ "instance"); |
+} |