| Index: tests/language/src/Constructor7Test.dart
|
| diff --git a/tests/language/src/Constructor7Test.dart b/tests/language/src/Constructor7Test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1d963949948cda273082dff0c84809d1cdb76ebd
|
| --- /dev/null
|
| +++ b/tests/language/src/Constructor7Test.dart
|
| @@ -0,0 +1,62 @@
|
| +// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +// Dart test program for constructors and initializers.
|
| +
|
| +// Expect the initializer expressions E(i) to be evaluated
|
| +// in the order 1, 2, 3, ...
|
| +// This test has no inheritance but many fields to flush out issues with
|
| +// ordering of fields.
|
| +
|
| +String trace = "";
|
| +
|
| +int E(int i) {
|
| + trace = trace.concat("$i-");
|
| + return i;
|
| +}
|
| +
|
| +class A {
|
| + var j; // Names are in reverse order to detect sorting by name...
|
| + var i = 0; // Initialized odd/even to detect these inits affecting order.
|
| + var h;
|
| + var g = 0;
|
| + var f;
|
| + var e = 0;
|
| + var d;
|
| + var c = 0;
|
| + var b;
|
| + var a = 0;
|
| +
|
| + A()
|
| + : a = E(1), // Initializations in different order to decls. Ascending...
|
| + b = E(2),
|
| + c = E(3),
|
| +
|
| + f = E(4), // Descending to be perverse...
|
| + e = E(5),
|
| + d = E(6),
|
| +
|
| + g = E(7), // Ascending again.
|
| + h = E(8),
|
| + i = E(9),
|
| + j = E(10) {
|
| +
|
| + Expect.equals(1, a);
|
| + Expect.equals(2, b);
|
| + Expect.equals(3, c);
|
| +
|
| + Expect.equals(4, f);
|
| + Expect.equals(5, e);
|
| + Expect.equals(6, d);
|
| +
|
| + Expect.equals(7, g);
|
| + Expect.equals(8, h);
|
| + Expect.equals(9, i);
|
| + Expect.equals(10, j);
|
| + }
|
| +}
|
| +
|
| +main() {
|
| + var x = new A();
|
| + Expect.equals('1-2-3-4-5-6-7-8-9-10-', trace);
|
| +}
|
|
|