| // Copyright (c) 2016, 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. |
| |
| import 'package:expect/expect.dart'; |
| |
| class A { |
| A() { |
| print("A"); |
| } |
| |
| hello() { |
| print("A.hello()"); |
| return 1; |
| } |
| |
| hello1(a) { |
| print("A.hello1()"); |
| print(a); |
| return 1; |
| } |
| |
| foo(a, [b]) { |
| print("A.foo()"); |
| print(a); |
| print(b); |
| return 1; |
| } |
| |
| bar(a, {b}) { |
| print("A.bar()"); |
| print(a); |
| print(b); |
| return 1; |
| } |
| } |
| |
| class B extends A { |
| hello() { |
| print("B.hello()"); |
| return 2; |
| } |
| |
| bar(a, {b}) { |
| print("B.bar()"); |
| print(a); |
| print(b); |
| return 2; |
| } |
| } |
| |
| main() { |
| var o = new B(); |
| |
| // Base class methods. |
| Expect.isTrue(o.hello1(1) == 1); |
| Expect.isTrue(o.foo(1) == 1); |
| Expect.isTrue(o.foo(1, 2) == 1); |
| |
| // Overwritten methods. |
| Expect.isTrue(o.hello() == 2); |
| Expect.isTrue(o.bar(1) == 2); |
| Expect.isTrue(o.bar(1, b: 2) == 2); |
| } |