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

Side by Side Diff: tests/language/src/Constructor5Test.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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
« no previous file with comments | « tests/language/src/Constructor4Test.dart ('k') | tests/language/src/Constructor6Test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011, 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 // Dart test program for constructors and initializers.
5
6 // Super initializer and super constructor body are executed in with the same
7 // bindings.
8
9 String trace = "";
10
11 int E(int i) {
12 trace += "$i-";
13 return i;
14 }
15
16 class A {
17 A([arg1 = 100, arg2 = 200]) : a1 = E(arg1++), a2 = E(arg2++) {
18 // b2 should be initialized between the above initializers and the following
19 // statements.
20 E(arg1); // 101
21 E(arg2); // 51
22 }
23 var a1;
24 var a2;
25 }
26
27 class B extends A {
28 // Initializers in order: b1, super, b2.
29 B(x, y) : b1 = E(x++), super(arg2: 50), b2 = E(y++) {
30 // Implicit super call to A's body happens here.
31 E(x); // 11
32 E(y); // 21
33 }
34 var b1;
35 var b2;
36 }
37
38 class C extends B {
39 C() : super(10, 20);
40 }
41
42 main() {
43 var c = new C();
44 Expect.equals(100, c.a1);
45 Expect.equals(50, c.a2);
46 Expect.equals(10, c.b1);
47 Expect.equals(20, c.b2);
48
49 Expect.equals("10-100-50-20-101-51-11-21-", trace);
50 }
OLDNEW
« no previous file with comments | « tests/language/src/Constructor4Test.dart ('k') | tests/language/src/Constructor6Test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698