import source from 1.3.40
[external/swig.git] / Examples / test-suite / lua / voidtest_runme.lua
1 -- demo of lua swig
2 require("import")       -- the import fn
3 import("voidtest")      -- import lib
4
5 -- test calling functions
6 voidtest.globalfunc()
7 f = voidtest.Foo()
8 f:memberfunc()  -- member fns must have : not a .
9
10 voidtest.Foo_staticmemberfunc() -- static member fns are still a little messy
11
12 v1 = voidtest.vfunc1(f)
13 v2 = voidtest.vfunc2(f)
14
15 assert(swig_equals(v1,v2)) -- a raw equals will not work, we look at the raw pointers
16
17 v3 = voidtest.vfunc3(v1)
18 assert(swig_equals(v3,f))
19
20 v4 = voidtest.vfunc1(f)
21 assert(swig_equals(v4,v1))
22
23 v3:memberfunc()
24
25 -- also testing nil's support
26 -- nil, are acceptable anywhere a pointer is
27 n1 = voidtest.vfunc1(nil)
28 n2 = voidtest.vfunc2(nil)
29
30 assert(n1==nil)
31 assert(n2==nil)
32
33 n3 = voidtest.vfunc3(n1)
34 n4 = voidtest.vfunc1(nil)
35
36 assert(n3==nil)
37 assert(n4==nil)