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.
|
+} |