OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 | 6 |
7 // Testing that, when compiled to JS, Function.apply works correctly for | 7 // Testing that, when compiled to JS, Function.apply works correctly for |
8 // functions with that will be invoked directly vs using .apply(). | 8 // functions with that will be invoked directly vs using .apply(). |
9 | 9 |
10 class A { | 10 class A { |
11 foo([a = 10, b = 20, c = 30, d = 40, e = 50]) => "$a $b $c $d $e"; | 11 foo([a = 10, b = 20, c = 30, d = 40, e = 50]) => "$a $b $c $d $e"; |
12 } | 12 } |
13 | 13 |
14 main() { | 14 main() { |
15 var a = new A(); | 15 var a = new A(); |
16 var clos = a.foo; | 16 var clos = a.foo; |
17 Expect.equals(Function.apply(clos, []), "10 20 30 40 50"); | 17 Expect.equals(Function.apply(clos, []), "10 20 30 40 50"); |
18 Expect.equals(Function.apply(clos, [11]), "11 20 30 40 50"); | 18 Expect.equals(Function.apply(clos, [11]), "11 20 30 40 50"); |
19 Expect.equals(Function.apply(clos, [11, 21]), "11 21 30 40 50"); | 19 Expect.equals(Function.apply(clos, [11, 21]), "11 21 30 40 50"); |
20 Expect.equals(Function.apply(clos, [11, 21, 31]), "11 21 31 40 50"); | 20 Expect.equals(Function.apply(clos, [11, 21, 31]), "11 21 31 40 50"); |
21 Expect.equals(Function.apply(clos, [11, 21, 31, 41]), "11 21 31 41 50"); | 21 Expect.equals(Function.apply(clos, [11, 21, 31, 41]), "11 21 31 41 50"); |
22 Expect.equals(Function.apply(clos, [11, 21, 31, 41, 51]), "11 21 31 41 51"); | 22 Expect.equals(Function.apply(clos, [11, 21, 31, 41, 51]), "11 21 31 41 51"); |
23 } | 23 } |
OLD | NEW |