OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library test.to_string_test; | 5 library test.to_string_test; |
6 | 6 |
| 7 @MirrorsUsed(targets: "test.to_string_test") |
7 import 'dart:mirrors'; | 8 import 'dart:mirrors'; |
8 | 9 |
9 import 'package:expect/expect.dart'; | 10 import 'package:expect/expect.dart'; |
10 | 11 |
11 expect(expected, actual) => Expect.stringEquals(expected, '$actual'); | 12 expect(expected, actual) => Expect.stringEquals(expected, '$actual'); |
12 | 13 |
13 class Foo { | 14 class Foo { |
14 var field; | 15 var field; |
15 method() {} | 16 method() {} |
16 } | 17 } |
17 | 18 |
18 main() { | 19 main() { |
19 var mirrors = currentMirrorSystem(); | 20 var mirrors = currentMirrorSystem(); |
20 expect("TypeMirror on 'dynamic'", mirrors.dynamicType); | 21 expect("TypeMirror on 'dynamic'", mirrors.dynamicType); |
21 expect("TypeMirror on 'void'", mirrors.voidType); | 22 expect("TypeMirror on 'void'", mirrors.voidType); |
22 expect("LibraryMirror on 'test.to_string_test'", | 23 expect("LibraryMirror on 'test.to_string_test'", |
23 mirrors.findLibrary(#test.to_string_test)); | 24 mirrors.findLibrary(#test.to_string_test)); |
24 expect("InstanceMirror on 1", reflect(1)); | 25 expect("InstanceMirror on 1", reflect(1)); |
25 expect("ClassMirror on 'Foo'", reflectClass(Foo)); | 26 expect("ClassMirror on 'Foo'", reflectClass(Foo)); |
26 expect("VariableMirror on 'field'", | 27 expect("VariableMirror on 'field'", |
27 reflectClass(Foo).declarations[#field]); | 28 reflectClass(Foo).declarations[#field]); |
28 expect("MethodMirror on 'method'", | 29 expect("MethodMirror on 'method'", |
29 reflectClass(Foo).declarations[#method]); | 30 reflectClass(Foo).declarations[#method]); |
30 String s = reflect(main).toString(); | 31 String s = reflect(main).toString(); |
31 Expect.isTrue(s.startsWith("ClosureMirror on '"), s); | 32 Expect.isTrue(s.startsWith("ClosureMirror on '"), s); |
32 } | 33 } |
OLD | NEW |