Mercurial > pub > dyncall > bindings
diff lua/luadyncall/test/test_smartptr.lua @ 0:0cfcc391201f
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:26:28 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lua/luadyncall/test/test_smartptr.lua Thu Mar 19 22:26:28 2015 +0100 @@ -0,0 +1,29 @@ +require "smartptr" + +-- test tolightuserdata + +x = smartptr.tolightuserdata(0xCAFEbabe) +print(x) + +-- test newsmartptr and finalizer + +function finalizer(x) + print("finalizer:"..tostring(x) ) +end + +y = smartptr.new(x, finalizer) +print("dump smartptr : ".. tostring(y) ) +print("dump address : " .. tostring(y())) +y = nil -- should print FINALIZER +collectgarbage("collect") +-- test setfinalizer + +y = smartptr.new( smartptr.tolightuserdata(0xdeadc0de), finalizer) +print("smartptr : ".. tostring(y) ) +print("address : " .. tostring(y())) +function newfinalizer(x) + print("newfinalizer:"..tostring(x)) +end +smartptr.setfinalizer(y, newfinalizer) +y = nil +