Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(982)

Unified Diff: frog/tests/leg_only/src/Closure7Test.dart

Issue 9419050: Allow to invoke fields as if they were methods. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: update status file. Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « frog/leg/ssa/builder.dart ('k') | tests/language/language-leg.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: frog/tests/leg_only/src/Closure7Test.dart
diff --git a/frog/tests/leg_only/src/Closure7Test.dart b/frog/tests/leg_only/src/Closure7Test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..6c29c24bd50d306da878c33b82dde993a7e5ce6c
--- /dev/null
+++ b/frog/tests/leg_only/src/Closure7Test.dart
@@ -0,0 +1,58 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
ahe 2012/02/17 17:47:43 Promote this to a language test?
+// 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.
+
+var foo;
+bar() => foo(3, 99);
+gee(f) => foo(fun: f);
+
+get foo2() => foo;
+bar2() => foo2(3, 99);
+gee2(f) => foo2(fun: f);
+
+globalTest() {
+ foo = () => 499;
+ Expect.equals(499, foo());
+ foo = (x, y) => x + y;
+ Expect.equals(102, bar());
+ foo = ([fun = null]) => fun(41);
+ Expect.equals(42, gee((x) => x + 1));
+
+ foo = () => 499;
+ Expect.equals(499, foo2());
+ foo = (x, y) => x + y;
+ Expect.equals(102, bar2());
+ foo = ([fun = null]) => fun(41);
+ Expect.equals(42, gee2((x) => x + 1));
+}
+
+class A {
+ static var foo;
+ static bar() => foo(3, 99);
+ static gee(f) => foo(fun: f);
+
+ static get foo2() => foo;
+ static bar2() => foo2(3, 99);
+ static gee2(f) => foo2(fun: f);
+}
+
+staticTest() {
+ A.foo = () => 499;
+ Expect.equals(499, A.foo());
+ A.foo = (x, y) => x + y;
+ Expect.equals(102, A.bar());
+ A.foo = ([fun = null]) => fun(41);
+ Expect.equals(42, A.gee((x) => x + 1));
+
+ A.foo = () => 499;
+ Expect.equals(499, A.foo2());
+ A.foo = (x, y) => x + y;
+ Expect.equals(102, A.bar2());
+ A.foo = ([fun = null]) => fun(41);
+ Expect.equals(42, A.gee2((x) => x + 1));
+}
+
+main() {
+ globalTest();
+ staticTest();
+}
« no previous file with comments | « frog/leg/ssa/builder.dart ('k') | tests/language/language-leg.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698