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 // Dart test for testing super setters and getters. | 4 // Dart test for testing super setters and getters. |
5 | 5 |
6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
7 | 7 |
8 class Base { | 8 class Base { |
9 Base() {} | 9 Base() {} |
10 String value_; | 10 String value_; |
11 | 11 |
12 String get value { return value_; } | 12 String get value { return value_; } |
13 String set value(String newValue) { | 13 String set value(String newValue) { /// static warning |
14 value_ = 'Base:$newValue'; | 14 value_ = 'Base:$newValue'; |
15 } | 15 } |
16 } | 16 } |
17 | 17 |
18 | 18 |
19 class Derived extends Base { | 19 class Derived extends Base { |
20 Derived() : super() {} | 20 Derived() : super() {} |
21 | 21 |
22 String set value(String newValue) { | 22 String set value(String newValue) { /// static warning |
23 super.value = 'Derived:$newValue'; | 23 super.value = 'Derived:$newValue'; |
24 } | 24 } |
25 String get value { return super.value; } | 25 String get value { return super.value; } |
26 } | 26 } |
27 | 27 |
28 | 28 |
29 class SuperSetterTest { | 29 class SuperSetterTest { |
30 static void testMain() { | 30 static void testMain() { |
31 final b = new Derived(); | 31 final b = new Derived(); |
32 b.value = "foo"; | 32 b.value = "foo"; |
33 Expect.equals("Base:Derived:foo", b.value); | 33 Expect.equals("Base:Derived:foo", b.value); |
34 } | 34 } |
35 } | 35 } |
36 | 36 |
37 main() { | 37 main() { |
38 SuperSetterTest.testMain(); | 38 SuperSetterTest.testMain(); |
39 } | 39 } |
OLD | NEW |