// Copyright (c) 2013, 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. // Test static members. import 'dart:mirrors'; import 'package:expect/expect.dart'; import 'stringify.dart'; class Foo { static dynamic hello = { 'a': 'b', 'c': 'd', }; } void main() { expect('Variable(s(hello) in s(Foo), static)', reflectClass(Foo).declarations[#hello]); var reflectee = reflectClass(Foo).getField(#hello).reflectee; Expect.stringEquals('a, c', reflectee.keys.join(', ')); // Call the lazy getter twice as different things probably happen in the // underlying implementation. reflectee = reflectClass(Foo).getField(#hello).reflectee; Expect.stringEquals('a, c', reflectee.keys.join(', ')); var value = 'fisk'; Foo.hello = value; reflectee = reflectClass(Foo).getField(#hello).reflectee; Expect.identical(value, reflectee); }