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

Side by Side Diff: tests/language/closure_in_initializer_test.dart

Issue 2997723002: Revert "Migrating a block of dart 2:" (Closed)
Patch Set: Created 3 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
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 // Test that a parameter used in two different closures defined in a 5 // Test that a parameter used in two different closures defined in a
6 // constructor initializer, is properly boxed. 6 // constructor initializer, is properly boxed.
7 7
8 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
9 9
10 class A { 10 class A {
11 var f; 11 var f;
12 var g; 12 var g;
13 A(a) 13 A(a)
14 : f = (() => 42 + a), 14 : f = (() => 42 + a),
15 g = (() => ++a) { 15 g = (() => ++a) {
16 a = 4; 16 a = 4;
17 } 17 }
18 } 18 }
19 19
20 class B extends A { 20 class B extends A {
21 B() : super(42); 21 B() : super(42);
22 } 22 }
23 23
24 class C extends A { 24 class C extends A {
25 var h; 25 var h;
26 C(a) 26 C(a)
27 : h = (() => ++a), 27 : super(42),
28 super(42); 28 h = (() => ++a);
29 } 29 }
30 30
31 main() { 31 main() {
32 var a = new A(1); 32 var a = new A(1);
33 Expect.equals(46, a.f()); 33 Expect.equals(46, a.f());
34 Expect.equals(5, a.g()); 34 Expect.equals(5, a.g());
35 Expect.equals(47, a.f()); 35 Expect.equals(47, a.f());
36 36
37 a = new B(); 37 a = new B();
38 Expect.equals(46, a.f()); 38 Expect.equals(46, a.f());
39 Expect.equals(5, a.g()); 39 Expect.equals(5, a.g());
40 Expect.equals(47, a.f()); 40 Expect.equals(47, a.f());
41 41
42 a = new C(0); 42 a = new C(0);
43 Expect.equals(46, a.f()); 43 Expect.equals(46, a.f());
44 Expect.equals(5, a.g()); 44 Expect.equals(5, a.g());
45 Expect.equals(47, a.f()); 45 Expect.equals(47, a.f());
46 Expect.equals(1, a.h());
47 Expect.equals(2, a.h());
46 Expect.equals(47, a.f()); 48 Expect.equals(47, a.f());
47 Expect.equals(6, a.g()); 49 Expect.equals(6, a.g());
48 Expect.equals(48, a.f()); 50 Expect.equals(48, a.f());
49 } 51 }
OLDNEW
« no previous file with comments | « tests/language/closure_in_initializer2_test.dart ('k') | tests/language/closure_internals_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698