Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Unified Diff: frog/tests/leg_only/src/NamedParameterForStaticTest.dart

Issue 9301038: Support named arguments for statically resolved calls. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: frog/tests/leg_only/src/NamedParameterForStaticTest.dart
===================================================================
--- frog/tests/leg_only/src/NamedParameterForStaticTest.dart (revision 0)
+++ frog/tests/leg_only/src/NamedParameterForStaticTest.dart (revision 0)
@@ -0,0 +1,88 @@
+// Copyright (c) 2012, 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.
+
+oneOptionalArgument(a, [b]) {
+ Expect.equals(1, a);
+ Expect.equals(2, b);
+}
+
+twoOptionalArguments([a, b]) {
+ Expect.equals(1, a);
+ Expect.equals(2, b);
+}
+
+main() {
+ twoOptionalArguments(a: 1, b: 2);
+ twoOptionalArguments(b: 2, a: 1);
+ twoOptionalArguments(1, b: 2);
+ twoOptionalArguments(1, 2);
+
+ oneOptionalArgument(1, 2);
+ oneOptionalArgument(1, b: 2);
Lasse Reichstein Nielsen 2012/01/31 15:36:05 How about adding a negative test (or more) that te
ngeoffray 2012/01/31 16:46:17 (We don't have try/catch :)) I have put a cancel
+
+ new A.twoOptionalArguments(a: 1, b: 2);
+ new A.twoOptionalArguments(b: 2, a: 1);
+ new A.twoOptionalArguments(1, b: 2);
+ new A.twoOptionalArguments(1, 2);
+
+ new A.oneOptionalArgument(1, 2);
+ new A.oneOptionalArgument(1, b: 2);
+
+/* TODO(ngeoffray): Enable once we support super constructor call.
+ new B.one();
+ new B.two();
+ new B.three();
+ new B.four();
+ new B.five();
+ new B.six();
+*/
+
+ new B().one();
+ new B().two();
+ new B().three();
+ new B().four();
+ new B().five();
+ new B().six();
+}
+
+class A {
+ A.oneOptionalArgument(a, [b]) {
+ Expect.equals(1, a);
+ Expect.equals(2, b);
+ }
+
+ A.twoOptionalArguments([a, b]) {
+ Expect.equals(1, a);
+ Expect.equals(2, b);
+ }
+
+ A();
+
+ oneOptionalArgument(a, [b]) {
+ Expect.equals(1, a);
+ Expect.equals(2, b);
+ }
+
+ twoOptionalArguments([a, b]) {
+ Expect.equals(1, a);
+ Expect.equals(2, b);
+ }
+}
+
+class B extends A {
+ B.one() : super.twoOptionalArguments(a: 1, b: 2);
+ B.two() : super.twoOptionalArguments(b: 2, a: 1);
+ B.three() : super.twoOptionalArguments(1, b: 2);
+ B.four() : super.twoOptionalArguments(1, 2);
+ B.five() : super.oneOptionalArgument(1, 2);
+ B.six() : super.oneOptionalArgument(1, b: 2);
+
+ B();
+ one() { super.twoOptionalArguments(a: 1, b: 2); }
+ two() { super.twoOptionalArguments(b: 2, a: 1); }
+ three() { super.twoOptionalArguments(1, b: 2); }
+ four() { super.twoOptionalArguments(1, 2); }
+ five() { super.oneOptionalArgument(1, 2); }
+ six() { super.oneOptionalArgument(1, b: 2); }
+}

Powered by Google App Engine
This is Rietveld 408576698