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 import 'dart:mirrors'; | 7 import 'dart:mirrors'; |
8 | 8 |
9 import 'package:expect/expect.dart'; | 9 import 'package:expect/expect.dart'; |
10 | 10 |
11 expect(expected, actual) => Expect.stringEquals(expected, '$actual'); | 11 expect(expected, actual) => Expect.stringEquals(expected, '$actual'); |
12 | 12 |
13 class Foo { | 13 class Foo { |
14 var field; | 14 var field; |
15 method() {} | 15 method() {} |
16 } | 16 } |
17 | 17 |
18 main() { | 18 main() { |
19 var mirrors = currentMirrorSystem(); | 19 var mirrors = currentMirrorSystem(); |
20 expect("TypeMirror on 'dynamic'", mirrors.dynamicType); | 20 expect("TypeMirror on 'dynamic'", mirrors.dynamicType); |
21 expect("TypeMirror on 'void'", mirrors.voidType); | 21 expect("TypeMirror on 'void'", mirrors.voidType); |
22 expect("LibraryMirror on 'test.to_string_test'", | 22 expect("LibraryMirror on 'test.to_string_test'", |
23 mirrors.findLibrary(#test.to_string_test)); | 23 mirrors.findLibrary(#test.to_string_test)); |
24 expect("InstanceMirror on 1", reflect(1)); | 24 expect("InstanceMirror on 1", reflect(1)); |
25 expect("ClassMirror on 'Foo'", reflectClass(Foo)); | 25 expect("ClassMirror on 'Foo'", reflectClass(Foo)); |
26 expect("VariableMirror on 'field'", | 26 expect("VariableMirror on 'field'", |
27 reflectClass(Foo).variables.values.single); | 27 reflectClass(Foo).declarations[#field]); |
28 expect("MethodMirror on 'method'", reflectClass(Foo).methods.values.single); | 28 expect("MethodMirror on 'method'", |
| 29 reflectClass(Foo).declarations[#method]); |
29 String s = reflect(main).toString(); | 30 String s = reflect(main).toString(); |
30 Expect.isTrue(s.startsWith("ClosureMirror on '"), s); | 31 Expect.isTrue(s.startsWith("ClosureMirror on '"), s); |
31 } | 32 } |
OLD | NEW |