Index: tests/language/super_call4_test.dart |
diff --git a/tests/language/super_call4_test.dart b/tests/language/super_call4_test.dart |
index f5ce7c28b590d3b972c138115879fd9355bb6c54..0093bda851f2201c619593fe942af5e58f6490de 100644 |
--- a/tests/language/super_call4_test.dart |
+++ b/tests/language/super_call4_test.dart |
@@ -6,8 +6,30 @@ |
// current class. |
class C { |
+ E e = new E(); |
+ |
bool noSuchMethod(InvocationMirror im) { |
- return true; |
+ if (im.memberName == 'foo') { |
+ return im.positionalArguments.isEmpty && |
+ im.namedArguments.isEmpty && |
+ im.invokeOn(e); |
+ } |
+ if (im.memberName == 'bar') { |
+ return im.positionalArguments.length == 1 && |
+ im.namedArguments.isEmpty && |
+ im.invokeOn(e); |
+ } |
+ if (im.memberName == 'baz') { |
+ return im.positionalArguments.isEmpty && |
+ im.namedArguments.length == 1 && |
+ im.invokeOn(e); |
+ } |
+ if (im.memberName == 'boz') { |
+ return im.positionalArguments.length == 1 && |
+ im.namedArguments.length == 1 && |
+ im.invokeOn(e); |
+ } |
+ return false; |
} |
} |
@@ -15,12 +37,31 @@ class D extends C { |
bool noSuchMethod(InvocationMirror im) { |
return false; |
} |
- test() { |
+ test1() { |
return super.foo(); |
} |
+ test2() { |
+ return super.bar(1); |
+ } |
+ test3() { |
+ return super.baz(b: 2); |
+ } |
+ test4() { |
+ return super.boz(1, c: 2); |
+ } |
+} |
+ |
+class E { |
+ bool foo() => true; |
+ bool bar(int a) => a == 1; |
+ bool baz({int b}) => b == 2; |
+ bool boz(int a, {int c}) => a == 1 && c == 2; |
} |
main() { |
var d = new D(); |
- Expect.isTrue(d.test()); |
+ Expect.isTrue(d.test1()); |
+ Expect.isTrue(d.test2()); |
+ Expect.isTrue(d.test3()); |
+ Expect.isTrue(d.test4()); |
} |