X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/91116f94e1683dc902a7e10eadd6186fe7d7255c..bce58d373fad048a8e30bd1794953f7ebb081540:/test/test.sod diff --git a/test/test.sod b/test/test.sod index f7f3537..6bc775b 100644 --- a/test/test.sod +++ b/test/test.sod @@ -225,4 +225,27 @@ code c : tests { } } +/*----- Keyword argument propagation --------------------------------------*/ + +[link = SodObject, nick = base] +class T3Base : SodObject { + void m0(?int x) { STEP(x); } + void m1(?) { } +} + +[link = T3Base, nick = sub] +class T3Sub : T3Base { + void base.m0(?int z) { STEP(z); CALL_NEXT_METHOD; } + void base.m1(?int z) { STEP(z); CALL_NEXT_METHOD; } +} + +code c : tests { + prepare("kwargs"); + { SOD_DECL(T3Sub, t, NO_KWARGS); + T3Base_m0(t, KWARGS(K(z, 0) K(x, 1))); + T3Base_m1(t, KWARGS(K(z, 2))); + DONE(3); + } +} + /*----- That's all, folks -------------------------------------------------*/