diff --git a/SWIG/Examples/test-suite/python/Makefile.in b/SWIG/Examples/test-suite/python/Makefile.in index 4f7ea10c9..5594e778b 100644 --- a/SWIG/Examples/test-suite/python/Makefile.in +++ b/SWIG/Examples/test-suite/python/Makefile.in @@ -20,6 +20,7 @@ CPP_TEST_CASES += \ implicittest \ inout \ inplaceadd \ + kwargs \ lib_std_except \ lib_std_vectora \ lib_std_map \ diff --git a/SWIG/Examples/test-suite/python/kwargs.i b/SWIG/Examples/test-suite/python/kwargs.i new file mode 100644 index 000000000..c33a5be70 --- /dev/null +++ b/SWIG/Examples/test-suite/python/kwargs.i @@ -0,0 +1,30 @@ +%module kwargs + +%feature("kwargs"); + +// +// No warnings nor overload methods should be generated here +// + +%extend Foo +{ + int efoo(int a =1, int b = 0) {return a + b; } + static int sfoo(int a =1, int b = 0) { return a + b; } +} + +%inline %{ + + + int foo(int a =1, int b = 0) {return a + b; } + + + + struct Foo + { + Foo(int a, int b = 0){} + + int foo(int a =1, int b = 0) {return a + b; } + static int bar(int a =1, int b = 0) {return a + b; } + }; + +%} diff --git a/SWIG/Examples/test-suite/python/kwargs_runme.py b/SWIG/Examples/test-suite/python/kwargs_runme.py new file mode 100644 index 000000000..f174642c9 --- /dev/null +++ b/SWIG/Examples/test-suite/python/kwargs_runme.py @@ -0,0 +1,7 @@ +import kwargs + +if kwargs.foo(a=1,b=2) != 3: + raise RuntimeError + +if kwargs.foo(b=2) != 3: + raise RuntimeError