| // 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. |
| |
| /** |
| * @assertion Optional parameters may be specified and provided with default |
| * values. |
| * defaultFormalParameter: |
| * normalFormalParameter ('=' expression)? |
| * ; |
| * defaultNamedParameter: |
| * normalFormalParameter (':' expression)? |
| * ; |
| * @description Checks using optional parameters together with required ones |
| * @author kaigorodov |
| */ |
| import "../../../../Utils/expect.dart"; |
| |
| void func(int z, [var x = 1, var y = 2]) { |
| Expect.equals(7, z); |
| Expect.equals(1, x); |
| Expect.equals(2, y); |
| } |
| |
| void func2(int z, {var x: 1, var y: 2}) { |
| Expect.equals(7, z); |
| Expect.equals(1, x); |
| Expect.equals(2, y); |
| } |
| |
| main() { |
| func(7); |
| func(7, 1); |
| func(7, 1, 2); |
| |
| func2(7); |
| func2(7, x: 1); |
| func2(7, y: 2); |
| func2(7, x: 1, y: 2); |
| func2(7, y: 2, x: 1); |
| } |