OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 // Dart test program testing that NoSuchMethod is properly called. | |
5 | |
6 class NoSuchMethodTest { | |
7 | |
8 foo([a = 10, b = 20]) { | |
9 return (10 * a) + b; | |
10 } | |
11 | |
12 noSuchMethod(String name, List args) { | |
13 Expect.equals("moo", name); | |
14 Expect.equals(1, args.length); | |
15 return foo(args[0]); | |
16 } | |
17 | |
18 static testMain() { | |
19 var obj = new NoSuchMethodTest(); | |
20 Expect.equals(1010, obj.moo(b:99)); // obj.NoSuchMethod called here. | |
21 // After we remove the rest argument and change the signature of | |
22 // noSuchMethod to be compatible with named arguments, we can expect the | |
23 // correct value of 199 instead of 1010. | |
24 } | |
25 } | |
26 | |
27 main() { | |
28 NoSuchMethodTest.testMain(); | |
29 } | |
OLD | NEW |