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

Side by Side Diff: tests/language/closure_in_initializer_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
(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 // Test that a parameter used in two different closures defined in a
6 // constructor initializer, is properly boxed.
7
8 import "package:expect/expect.dart";
9
10 class A {
11 var f;
12 var g;
13 A(a)
14 : f = (() => 42 + a),
15 g = (() => ++a) {
16 a = 4;
17 }
18 }
19
20 class B extends A {
21 B() : super(42);
22 }
23
24 class C extends A {
25 var h;
26 C(a)
27 : super(42),
28 h = (() => ++a);
29 }
30
31 main() {
32 var a = new A(1);
33 Expect.equals(46, a.f());
34 Expect.equals(5, a.g());
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 }
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