diff --git a/Examples/test-suite/python/kwargs.i b/Examples/test-suite/python/kwargs.i index 4c4df737c..37230348a 100644 --- a/Examples/test-suite/python/kwargs.i +++ b/Examples/test-suite/python/kwargs.i @@ -9,14 +9,25 @@ static int sfoo(int a = 1, int b = 0) { return a + b; } } +%newobject Foo::create; + %inline %{ struct Foo { - Foo(int a, int b = 0){} + Foo(int a, int b = 0) {} - int foo(int a = 1, int b = 0) {return a + b; } + virtual int foo(int a = 1, int b = 0) {return a + b; } static int statfoo(int a = 1, int b = 0) {return a + b; } + + static Foo *create(int a = 1, int b = 0) + { + return new Foo(a, b); + } + + virtual ~Foo(){ + } + }; %} diff --git a/Examples/test-suite/python/kwargs_runme.py b/Examples/test-suite/python/kwargs_runme.py index 1a3b5f2e1..2c4af01de 100644 --- a/Examples/test-suite/python/kwargs_runme.py +++ b/Examples/test-suite/python/kwargs_runme.py @@ -1,6 +1,14 @@ from kwargs import * +class MyFoo(Foo): + def __init__(self, a , b = 0): + Foo.__init__(self, a, b) + + + # Simple class +f1 = MyFoo(2) + f = Foo(b=2,a=1) if f.foo(b=1,a=2) != 3: