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

Side by Side Diff: tests/compiler/dart2js_extra/closure_capture5_test.dart

Issue 437193002: Remove function names on function expressions. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove TODO Created 6 years, 4 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
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 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 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"; 5 import "package:expect/expect.dart";
6 6
7 closure0() { 7 closure0() {
8 var fs = []; 8 var fs = [];
9 for (var x = 1; x <= 3; x++) { 9 for (var x = 1; x <= 3; x++) {
10 fs.add(fun() { return x; }); 10 fs.add(() { return x; });
11 } 11 }
12 Expect.equals(3, fs.length); 12 Expect.equals(3, fs.length);
13 Expect.equals(1, fs[0]()); 13 Expect.equals(1, fs[0]());
14 Expect.equals(2, fs[1]()); 14 Expect.equals(2, fs[1]());
15 Expect.equals(3, fs[2]()); 15 Expect.equals(3, fs[2]());
16 } 16 }
17 17
18 closure1() { 18 closure1() {
19 var fs = []; 19 var fs = [];
20 for (var x = 0; x < 6; x++) { 20 for (var x = 0; x < 6; x++) {
21 fs.add(fun() { return x; }); 21 fs.add(() { return x; });
22 x++; 22 x++;
23 } 23 }
24 Expect.equals(3, fs.length); 24 Expect.equals(3, fs.length);
25 Expect.equals(1, fs[0]()); 25 Expect.equals(1, fs[0]());
26 Expect.equals(3, fs[1]()); 26 Expect.equals(3, fs[1]());
27 Expect.equals(5, fs[2]()); 27 Expect.equals(5, fs[2]());
28 } 28 }
29 29
30 closure2() { 30 closure2() {
31 var input = [1, 2, 3]; 31 var input = [1, 2, 3];
32 var fs = []; 32 var fs = [];
33 for (var i = 0; i < input.length; i++) { 33 for (var i = 0; i < input.length; i++) {
34 fs.add(fun() { return input[i]; }); 34 fs.add(() { return input[i]; });
35 } 35 }
36 Expect.equals(3, fs.length); 36 Expect.equals(3, fs.length);
37 Expect.equals(1, fs[0]()); 37 Expect.equals(1, fs[0]());
38 Expect.equals(2, fs[1]()); 38 Expect.equals(2, fs[1]());
39 Expect.equals(3, fs[2]()); 39 Expect.equals(3, fs[2]());
40 } 40 }
41 41
42 closure3() { 42 closure3() {
43 var fs = []; 43 var fs = [];
44 for (var i = 0; 44 for (var i = 0;
45 i < 3; 45 i < 3;
46 (f() { 46 (() {
47 fs.add(g() => i); 47 fs.add(() => i);
48 i++; 48 i++;
49 })()) { 49 })()) {
50 i++; 50 i++;
51 } 51 }
52 Expect.equals(2, fs.length); 52 Expect.equals(2, fs.length);
53 Expect.equals(3, fs[0]()); 53 Expect.equals(3, fs[0]());
54 Expect.equals(4, fs[1]()); 54 Expect.equals(4, fs[1]());
55 } 55 }
56 56
57 closure4() { 57 closure4() {
58 var g; 58 var g;
59 for (var i = 0; 59 for (var i = 0;
60 (f() { 60 (() {
61 g = fun() => i; 61 g = () => i;
62 return false; 62 return false;
63 })(); 63 })();
64 i++){ 64 i++){
65 Expect.equals(false, true); 65 Expect.equals(false, true);
66 } 66 }
67 Expect.equals(0, g()); 67 Expect.equals(0, g());
68 } 68 }
69 69
70 main() { 70 main() {
71 closure0(); 71 closure0();
72 closure1(); 72 closure1();
73 closure2(); 73 closure2();
74 closure3(); 74 closure3();
75 closure4(); 75 closure4();
76 } 76 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js_extra/closure_capture4_test.dart ('k') | tests/compiler/dart2js_extra/closure_capture_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698