OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 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 | 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 // Test for instance field initializer expressions. | 4 // Test for instance field initializer expressions. |
5 | 5 |
6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
7 | 7 |
8 class Cheese { | 8 class Cheese { |
9 static const mild = 1; | 9 static const mild = 1; |
10 static const stinky = 2; | 10 static const stinky = 2; |
11 | 11 |
12 // Instance fields with initializer expression. | 12 // Instance fields with initializer expression. |
13 String name = ""; | 13 String name = ""; |
14 var smell = mild; | 14 var smell = mild; |
15 | 15 |
16 Cheese() { | 16 Cheese() { |
17 Expect.equals("", this.name); | 17 Expect.equals("", this.name); |
18 Expect.equals(Cheese.mild, this.smell); | 18 Expect.equals(Cheese.mild, this.smell); |
19 } | 19 } |
20 | 20 |
21 Cheese.initInBlock(String s) { | 21 Cheese.initInBlock(String s) { |
22 Expect.equals("", this.name); | 22 Expect.equals("", this.name); |
23 Expect.equals(Cheese.mild, this.smell); | 23 Expect.equals(Cheese.mild, this.smell); |
24 this.name = s; | 24 this.name = s; |
25 } | 25 } |
26 | 26 |
27 Cheese.initFieldParam(this.name, this.smell) { | 27 Cheese.initFieldParam(this.name, this.smell) {} |
28 } | |
29 | 28 |
30 // Test that static const field Cheese.mild is not shadowed | 29 // Test that static const field Cheese.mild is not shadowed |
31 // by the parameter mild when compiling the field initializer | 30 // by the parameter mild when compiling the field initializer |
32 // for instance field smell. | 31 // for instance field smell. |
33 Cheese.hideAndSeek(var mild) : name = mild { | 32 Cheese.hideAndSeek(var mild) : name = mild { |
34 Expect.equals(mild, this.name); | 33 Expect.equals(mild, this.name); |
35 Expect.equals(Cheese.mild, this.smell); | 34 Expect.equals(Cheese.mild, this.smell); |
36 } | 35 } |
37 } | 36 } |
38 | 37 |
(...skipping 14 matching lines...) Expand all Loading... |
53 Expect.equals("Munster", munster.name); | 52 Expect.equals("Munster", munster.name); |
54 Expect.equals(Cheese.stinky, munster.smell); | 53 Expect.equals(Cheese.stinky, munster.smell); |
55 | 54 |
56 var brie = new Cheese.hideAndSeek("Brie"); | 55 var brie = new Cheese.hideAndSeek("Brie"); |
57 Expect.equals("Brie", brie.name); | 56 Expect.equals("Brie", brie.name); |
58 Expect.equals(Cheese.mild, brie.smell); | 57 Expect.equals(Cheese.mild, brie.smell); |
59 | 58 |
60 var t = new HasNoExplicitConstructor(); | 59 var t = new HasNoExplicitConstructor(); |
61 Expect.equals("Tilsiter", t.s); | 60 Expect.equals("Tilsiter", t.s); |
62 } | 61 } |
OLD | NEW |