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 | 4 |
5 import "package:expect/expect.dart"; | |
6 | |
7 // Tests for closures sharing mutable bindings. | 5 // Tests for closures sharing mutable bindings. |
8 | 6 |
9 var f; | 7 var f; |
10 var g; | 8 var g; |
11 | 9 |
12 setupPlain() { | 10 setupPlain() { |
13 int j = 1000; | 11 int j = 1000; |
14 // Two closures sharing variable 'j'; j initially is 1000. | 12 // Two closures sharing variable 'j'; j initially is 1000. |
15 f = (int x) { var q = j; j = x; return q;}; | 13 f = (int x) { var q = j; j = x; return q;}; |
16 g = (int x) { var q = j; j = x; return q;}; | 14 g = (int x) { var q = j; j = x; return q;}; |
(...skipping 27 matching lines...) Expand all Loading... |
44 Expect.equals(300, g(400)); | 42 Expect.equals(300, g(400)); |
45 Expect.equals(400, g(500)); | 43 Expect.equals(400, g(500)); |
46 } | 44 } |
47 | 45 |
48 | 46 |
49 main() { | 47 main() { |
50 test(setupPlain); | 48 test(setupPlain); |
51 test(setupLoop); | 49 test(setupLoop); |
52 test(setupNestedLoop); | 50 test(setupNestedLoop); |
53 } | 51 } |
OLD | NEW |