Chromium Code Reviews| Index: tests/language/methods_as_constants_test.dart |
| =================================================================== |
| --- tests/language/methods_as_constants_test.dart (revision 0) |
| +++ tests/language/methods_as_constants_test.dart (revision 0) |
| @@ -0,0 +1,34 @@ |
| +// Copyright (c) 2012, 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. |
| + |
| +StringBuffer buffer; |
| + |
| +topLevelMethod() { |
| + buffer.add('t'); |
| +} |
| + |
| +class A { |
| + final Function closure; |
| + const A(this.closure); |
| + const A.defaultTopLevel([this.closure = topLevelMethod]); |
| + const A.defaultStatic([this.closure = staticMethod]); |
| + const A.defaultStatic2([this.closure = A.staticMethod]); |
| + static staticMethod() { |
| + buffer.add('s'); |
| + } |
| + run() => closure(); |
| +} |
| + |
| +main() { |
| + buffer = new StringBuffer(); |
| + (const A(topLevelMethod)).run(); |
| + (const A(A.staticMethod)).run(); |
| + (const A.defaultTopLevel()).run(); |
| + (const A.defaultStatic()).run(); |
| + (const A.defaultStatic2()).run(); |
| + (new A.defaultTopLevel()).run(); |
| + (new A.defaultStatic()).run(); |
| + (new A.defaultStatic2()).run(); |
| + Expect.equals('tstsstss', '$buffer'); |
|
kasperl
2012/08/27 13:17:26
This would probably be easier to maintain if you c
ngeoffray
2012/08/27 14:09:09
Done.
|
| +} |