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

Unified Diff: tests/language/named_parameters_aggregated_test.dart

Issue 10800027: Fixed tests so they do indeed confirm that values on optional named parameters are not allowed. Add… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: dart and dart2dart fail to produce static type warning instead of compile-time error. Created 8 years, 4 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: tests/language/named_parameters_aggregated_test.dart
diff --git a/tests/language/named_parameters_aggregated_test.dart b/tests/language/named_parameters_aggregated_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..cb1b3ad18dc2f8c0f580c0cafafb12aa3ecdbd03
--- /dev/null
+++ b/tests/language/named_parameters_aggregated_test.dart
@@ -0,0 +1,56 @@
+// 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.
+// Dart test program for testing named parameters.
+
+
+class TypeTester<T> {}
+
+// Expect compile-time error as no default values are allowed
+// in closure type definitions.
+typedef void Callback([String msg
+ = "" /// 01: compile-time error
+ ]);
+
+class NamedParametersAggregatedTests {
+
+ static int F31(int a, [int b = 20, int c = 30]) {
+ return 100*(100*a + b) + c;
+ }
+
+ static int f_missing_comma(a
+ [b = 42] /// 02: compile-time error
+ ) => a;
+
+ var _handler = null;
+
+ // Expect compile-time error as no default values
+ // are allowed in closure type.
+ void InstallCallback(void cb([String msg
+ = null /// 03: compile-time error
+ ])) {
+ _handler = cb;
+ }
+
+}
+
+
+main() {
+ // Expect compile-time error due to missing comma in function definition.
+ NamedParametersAggregatedTests.f_missing_comma(10
+ , 25 /// 02: continued
+ );
+
+ // Expect compile-time erorr due to duplicate named argument.
+ NamedParametersAggregatedTests.F31(10, b:25
+ , b:35 /// 04: compile-time error
+ );
+
+ // Expect compile-time error due to missing positional argument.
+ NamedParametersAggregatedTests.F31(b:25, c:35); /// 05: static type warning
+
+ new TypeTester<Callback>();
+
+ (new NamedParametersAggregatedTests()).InstallCallback(null);
+
+}
« no previous file with comments | « tests/language/named_parameters9_negative_test.dart ('k') | tests/language/named_parameters_negative_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698