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

Side by Side Diff: tests/language_2/closure_in_initializer_static_test.dart

Issue 3001433002: Migrating a block of dart 1 tests to dart 2 (Closed)
Patch Set: Fixed merge conflict characters 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);
22 }
23
24 class C extends A {
25 var h; 21 var h;
26 C(a) 22 C(a)
27 : super(42), 23 : h = (() => ++a),
28 h = (() => ++a); 24 super(42);
29 } 25 }
30 26
31 main() { 27 main() {
32 var a = new A(1); 28 var a = new A(1);
33 Expect.equals(46, a.f()); 29 a = new B(0);
34 Expect.equals(5, a.g()); 30 var ah = /*@compile-error=unspecified*/ a.h();
35 Expect.equals(47, a.f());
36
37 a = new B();
38 Expect.equals(46, a.f());
39 Expect.equals(5, a.g());
40 Expect.equals(47, a.f());
41
42 a = new C(0);
43 Expect.equals(46, a.f());
44 Expect.equals(5, a.g());
45 Expect.equals(47, a.f());
46 Expect.equals(1, a.h());
47 Expect.equals(2, a.h());
48 Expect.equals(47, a.f());
49 Expect.equals(6, a.g());
50 Expect.equals(48, a.f());
51 } 31 }
OLDNEW
« no previous file with comments | « tests/language_2/closure_in_initializer2_test.dart ('k') | tests/language_2/closure_in_initializer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698