Index: frog/tests/native/src/NativeWrappingFunction3FrogTest.dart |
=================================================================== |
--- frog/tests/native/src/NativeWrappingFunction3FrogTest.dart (revision 6616) |
+++ frog/tests/native/src/NativeWrappingFunction3FrogTest.dart (working copy) |
@@ -7,16 +7,14 @@ |
typedef void Callback2(arg1, arg2); |
class A native "*A" { |
- foo0(Callback0 closure) native; |
- foo1(Callback1 closure, arg1) native; |
- foo2(Callback2 closure, arg1, arg2) native; |
+ foo1(Callback1 closure, [arg1 = 0]) native; |
+ foo2(Callback2 closure, [arg1 = 0, arg2 = 1]) native; |
} |
makeA() native; |
void setup() native """ |
function A() {} |
-A.prototype.foo0 = function(closure) { return closure(); }; |
A.prototype.foo1 = function(closure, arg1) { return closure(arg1); }; |
A.prototype.foo2 = function(closure, arg1, arg2) { |
return closure(arg1, arg2); |
@@ -28,12 +26,26 @@ |
main() { |
setup(); |
var a = makeA(); |
- Expect.equals(42, a.foo0(() => 42)); |
Expect.equals(43, a.foo1((arg1) => arg1, 43)); |
+ Expect.equals(43, a.foo1((arg1) => arg1, arg1: 43)); |
+ Expect.equals(0, a.foo1((arg1) => arg1)); |
+ |
Expect.equals(44, a.foo2((arg1, arg2) => arg1 + arg2, 21, 23)); |
+ Expect.equals(22, a.foo2((arg1, arg2) => arg1 + arg2, 21)); |
+ Expect.equals(22, a.foo2((arg1, arg2) => arg1 + arg2, arg1: 21)); |
+ Expect.equals(21, a.foo2((arg1, arg2) => arg1 + arg2, arg2: 21)); |
+ Expect.equals(44, a.foo2((arg1, arg2) => arg1 + arg2, arg1: 21, arg2: 23)); |
+ Expect.equals(44, a.foo2((arg1, arg2) => arg1 - arg2, arg2: 22, arg1: 66)); |
A aa = a; |
- Expect.equals(42, aa.foo0(() => 42)); |
Expect.equals(43, aa.foo1((arg1) => arg1, 43)); |
+ Expect.equals(43, aa.foo1((arg1) => arg1, arg1: 43)); |
+ Expect.equals(0, aa.foo1((arg1) => arg1)); |
+ |
Expect.equals(44, aa.foo2((arg1, arg2) => arg1 + arg2, 21, 23)); |
+ Expect.equals(22, aa.foo2((arg1, arg2) => arg1 + arg2, 21)); |
+ Expect.equals(22, aa.foo2((arg1, arg2) => arg1 + arg2, arg1: 21)); |
+ Expect.equals(21, aa.foo2((arg1, arg2) => arg1 + arg2, arg2: 21)); |
+ Expect.equals(44, aa.foo2((arg1, arg2) => arg1 + arg2, arg1: 21, arg2: 23)); |
+ Expect.equals(44, aa.foo2((arg1, arg2) => arg1 - arg2, arg2: 22, arg1: 66)); |
} |