Chromium Code Reviews| Index: tests/lib/mirrors/mirrors_test.dart |
| =================================================================== |
| --- tests/lib/mirrors/mirrors_test.dart (revision 10017) |
| +++ tests/lib/mirrors/mirrors_test.dart (working copy) |
| @@ -12,6 +12,8 @@ |
| var topLevelField; |
| class Class { |
| + Class(); |
| + Class.withInitialValue(this.field); |
| var field; |
| static var staticField; |
| } |
| @@ -61,10 +63,29 @@ |
| })); |
| } |
| +testInvokeConstructor(mirrors) { |
| + var libMirror = mirrors.libraries()["MirrorsTest.dart"]; |
| + var classMirror = libMirror.classes()["Class"]; |
| + |
| + var future = classMirror.newInstance('', []); |
| + future.then(expectAsync1((resultMirror) { |
| + var instance = resultMirror.reflectee; |
| + expect(instance is Class, equals(true)); |
|
Ivan Posva
2012/07/30 17:03:28
Please make sure that the correct constructor was
rmacnak
2012/07/30 17:48:22
Done.
On 2012/07/30 17:03:28, Ivan Posva wrote:
|
| + })); |
| + |
| + future = classMirror.newInstance('withInitialValue', [45]); |
| + future.then(expectAsync1((resultMirror) { |
| + var instance = resultMirror.reflectee; |
| + expect(instance is Class, equals(true)); |
| + expect(instance.field, equals(45)); |
| + })); |
| +} |
| + |
| main() { |
| var mirrors = currentMirrorSystem(); |
| test("Test field access", () { testFieldAccess(mirrors); }); |
| test("Test closure mirrors", () { testClosureMirrors(mirrors); }); |
| + test("Test invoke constructor", () { testInvokeConstructor(mirrors); }); |
| } |