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

Side by Side Diff: tests/language/src/FunctionLiterals2Test.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011, 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 // Dart test for new function type alias.
6
7 class FunctionLiteralsTest {
8
9 static void testMain() {
10 f(x) { return x * 2;}
11 f(42); // make sure it is parsed as a function call
12 Expect.equals(20, f(10));
13
14 int g(x) { return x * 2;}
15 g(42); // make sure it is parsed as a function call
16 Expect.equals(20, g(10));
17
18 h(x) { return x * 2;}
19 h(42); // make sure it is parsed as a function call
20 Expect.equals(20, h(10));
21
22 var a = int _(x) {return x + 2;};
23 Expect.equals(7, a(5));
24
25 Expect.equals(10, apply((k) { return k << 1;}, 5));
26 Expect.equals(20, apply((k) => k << 1, 10));
27
28 a = new A(3);
29 Expect.equals(-1, a.f);
30 Expect.equals(-3, a.f2);
31
32 a = new A.n(5);
33 Expect.equals(-2, a.f);
34 Expect.equals(2, a.f2);
35
36 Expect.equals(true, isOdd(5));
37 Expect.equals(false, isOdd(8));
38
39 var b = new B(10);
40 Expect.equals(10, b.n);
41 Expect.equals(100, (b.f)(10));
42
43 b = new B.n(10);
44 Expect.equals(10, b.n);
45 Expect.equals(101, (b.f)(10));
46
47 int x = 0;
48 int y = 1;
49 // make sure this isn't parsed as a generic type
50 Expect.isTrue(x<y, "foo");
51 }
52 }
53
54 apply(f, n) {
55 return f(n);
56 }
57
58 bool isOdd(b) => b % 2 == 1;
59
60 class A {
61 int f;
62 int f2;
63 A(p) : f = apply((j) => 2 - j, p) { /* constr. body */ f2 = -p; }
64 A.n(p) : f = 1 + apply((j) => 2 - j, p) { /* constr. body */ f2 = -f; }
65 }
66
67 class B {
68 var f;
69 int n;
70 B(z) : f = ((x) => x * x) { n = z; }
71 B.n(z) : f = ((x) { return x * x + 1; }) { n = z; }
72 }
73
74 main() {
75 FunctionLiteralsTest.testMain();
76 }
OLDNEW
« no previous file with comments | « tests/language/src/FunctionGetterTest.dart ('k') | tests/language/src/FunctionLiteralsTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698