OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // Dart test program testing closures. | 4 // Dart test program testing closures. |
5 | 5 |
6 import "package:expect/expect.dart"; | |
7 | |
8 typedef T F<T>(T t); | 6 typedef T F<T>(T t); |
9 | 7 |
10 class Parameterized<T> { | 8 class Parameterized<T> { |
11 Parameterized() { } | 9 Parameterized() { } |
12 T mul3(F f, T t) { return 3*f(t); } | 10 T mul3(F f, T t) { return 3*f(t); } |
13 T test(T t) { | 11 T test(T t) { |
14 return mul3((T t) { return 3*t; }, t); | 12 return mul3((T t) { return 3*t; }, t); |
15 } | 13 } |
16 } | 14 } |
17 | 15 |
(...skipping 13 matching lines...) Expand all Loading... |
31 | 29 |
32 static testMain() { | 30 static testMain() { |
33 Expect.equals(3 + 33, f(3)); | 31 Expect.equals(3 + 33, f(3)); |
34 Expect.equals(9.0, new Parameterized<double>().test(1.0)); | 32 Expect.equals(9.0, new Parameterized<double>().test(1.0)); |
35 } | 33 } |
36 } | 34 } |
37 | 35 |
38 main() { | 36 main() { |
39 LocalFunction2Test.testMain(); | 37 LocalFunction2Test.testMain(); |
40 } | 38 } |
OLD | NEW |