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

Side by Side Diff: frog/tests/leg_only/closure_capture4_test.dart

Issue 10536169: Move frog/tests/{leg,leg_only,frog_native} to tests/compiler/. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 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) 2012, 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 closure0() {
6 var input = [1, 2, 3];
7 var fs = [];
8 for (var x in input) {
9 fs.add(fun() { return x; });
10 }
11 Expect.equals(3, fs.length);
12 Expect.equals(1, fs[0]());
13 Expect.equals(2, fs[1]());
14 Expect.equals(3, fs[2]());
15 }
16
17 closure1() {
18 var input = [1, 2, 3];
19 var fs = [];
20 for (var x in input) {
21 fs.add(fun() { return x; });
22 x++;
23 }
24 Expect.equals(3, fs.length);
25 Expect.equals(2, fs[0]());
26 Expect.equals(3, fs[1]());
27 Expect.equals(4, fs[2]());
28 }
29
30 closure2() {
31 var input = [1, 2, 3];
32 var fs = [];
33 for (var i = 0; i < input.length; i++) {
34 var j = i;
35 fs.add(fun() { return input[j]; });
36 }
37 Expect.equals(3, fs.length);
38 Expect.equals(1, fs[0]());
39 Expect.equals(2, fs[1]());
40 Expect.equals(3, fs[2]());
41 }
42
43 closure3() {
44 var input = [1, 2, 3];
45 var fs = [];
46 for (var i = 0; i < input.length; i++) {
47 var x = input[i];
48 fs.add(fun() { return x; });
49 x++;
50 }
51 Expect.equals(3, fs.length);
52 Expect.equals(2, fs[0]());
53 Expect.equals(3, fs[1]());
54 Expect.equals(4, fs[2]());
55 }
56
57 closure4() {
58 var input = [1, 2, 3];
59 var fs = [];
60 var x;
61 for (var i = 0; i < input.length; i++) {
62 x = input[i];
63 fs.add(fun() { return x; });
64 x++;
65 }
66 Expect.equals(3, fs.length);
67 Expect.equals(4, fs[0]());
68 Expect.equals(4, fs[1]());
69 Expect.equals(4, fs[2]());
70 }
71
72 closure5() {
73 var input = [1, 2, 3];
74 var fs = [];
75 var i = 0;
76 do {
77 var x = input[i];
78 fs.add(fun() { return x; });
79 } while (++i < input.length);
80 Expect.equals(3, fs.length);
81 Expect.equals(1, fs[0]());
82 Expect.equals(2, fs[1]());
83 Expect.equals(3, fs[2]());
84 }
85
86 main() {
87 closure0();
88 closure1();
89 closure2();
90 closure3();
91 closure4();
92 closure5();
93 }
OLDNEW
« no previous file with comments | « frog/tests/leg_only/closure_capture3_test.dart ('k') | frog/tests/leg_only/closure_capture5_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698