OLD | NEW |
(Empty) | |
| 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 |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 // Test static members. |
| 6 |
| 7 import 'dart:mirrors'; |
| 8 |
| 9 import 'package:expect/expect.dart'; |
| 10 |
| 11 import 'stringify.dart'; |
| 12 |
| 13 class Foo { |
| 14 static var hello = { |
| 15 'a': 'b', |
| 16 'c': 'd', |
| 17 }; |
| 18 } |
| 19 |
| 20 void main() { |
| 21 expect('Variable(s(hello) in s(Foo), static)', |
| 22 reflectClass(Foo).declarations[#hello]); |
| 23 var reflectee = reflectClass(Foo).getField(#hello).reflectee; |
| 24 Expect.stringEquals('a, c', reflectee.keys.join(', ')); |
| 25 // Call the lazy getter twice as different things probably happen in the |
| 26 // underlying implementation. |
| 27 reflectee = reflectClass(Foo).getField(#hello).reflectee; |
| 28 Expect.stringEquals('a, c', reflectee.keys.join(', ')); |
| 29 var value = 'fisk'; |
| 30 Foo.hello = value; |
| 31 reflectee = reflectClass(Foo).getField(#hello).reflectee; |
| 32 Expect.identical(value, reflectee); |
| 33 } |
OLD | NEW |