| -- demo of lua swig |
| require("import") -- the import fn |
| import("voidtest") -- import lib |
| |
| -- test calling functions |
| voidtest.globalfunc() |
| f = voidtest.Foo() |
| f:memberfunc() -- member fns must have : not a . |
| |
| voidtest.Foo_staticmemberfunc() -- static member fns are still a little messy |
| |
| v1 = voidtest.vfunc1(f) |
| v2 = voidtest.vfunc2(f) |
| |
| assert(swig_equals(v1,v2)) -- a raw equals will not work, we look at the raw pointers |
| |
| v3 = voidtest.vfunc3(v1) |
| assert(swig_equals(v3,f)) |
| |
| v4 = voidtest.vfunc1(f) |
| assert(swig_equals(v4,v1)) |
| |
| v3:memberfunc() |
| |
| -- also testing nil's support |
| -- nil, are acceptable anywhere a pointer is |
| n1 = voidtest.vfunc1(nil) |
| n2 = voidtest.vfunc2(nil) |
| |
| assert(n1==nil) |
| assert(n2==nil) |
| |
| n3 = voidtest.vfunc3(n1) |
| n4 = voidtest.vfunc1(nil) |
| |
| assert(n3==nil) |
| assert(n4==nil) |