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

Unified Diff: tests/language/function_type_alias2_test.dart

Issue 10910119: Implement new optional parameters syntax in the vm (issue 4290). (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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
« no previous file with comments | « tests/co19/co19-runtime.status ('k') | tests/language/language.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/language/function_type_alias2_test.dart
===================================================================
--- tests/language/function_type_alias2_test.dart (revision 12003)
+++ tests/language/function_type_alias2_test.dart (working copy)
@@ -3,30 +3,52 @@
// BSD-style license that can be found in the LICENSE file.
// VMOptions=--enable_type_checks
//
-// Dart test for function type alias with named optional parameters.
+// Dart test for function type alias with optional parameters.
typedef int f1<T>([int a, int b, T c]);
typedef int f2<T>([int a, int b, T d]);
+typedef int f3<T>({int a, int b, T c});
+typedef int f4<T>({int a, int b, T d});
class A<T> {
- int baz([int a, int b, T c]) {
- }
+ int baz([int a, int b, T c]) { }
+ int bar({int a, int b, T c}) { }
}
-int baz([int a, int b, int c]) {
-}
+int baz([int a, int b, int c]) { }
+int bar({int a, int b, int c}) { }
+
main() {
+ // TODO(regis): The expectations below will change once we run this test with
+ // --reject_named_argument_as_positional which is still too early to do at
+ // this time.
Expect.isTrue(baz is f1);
+ Expect.isFalse(baz is f3);
+ Expect.isFalse(bar is f1);
+ Expect.isTrue(bar is f3);
+ Expect.isTrue(baz is f1);
Expect.isTrue(baz is f1<int>);
+ Expect.isTrue(bar is f3<int>);
Expect.isFalse(baz is f1<double>);
+ Expect.isFalse(bar is f3<double>);
Expect.isFalse(baz is f2);
+ Expect.isFalse(bar is f4);
Expect.isFalse(baz is f2<int>);
+ Expect.isFalse(bar is f2<int>);
A<int> a = new A<int>();
Expect.isTrue(a.baz is f1);
+ Expect.isFalse(a.baz is f3);
+ Expect.isFalse(a.bar is f1);
+ Expect.isTrue(a.bar is f3);
+ Expect.isTrue(a.baz is f1);
Expect.isTrue(a.baz is f1<int>);
+ Expect.isTrue(a.bar is f3<int>);
Expect.isFalse(a.baz is f1<double>);
+ Expect.isFalse(a.bar is f3<double>);
Expect.isFalse(a.baz is f2);
+ Expect.isFalse(a.bar is f4);
Expect.isFalse(a.baz is f2<int>);
+ Expect.isFalse(a.bar is f2<int>);
}
« no previous file with comments | « tests/co19/co19-runtime.status ('k') | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698