blob: dc97a77bfef241d9b81cc6819b6d97748eb1bd2b [file] [log] [blame]
require("import") -- the import fn
import("refcount") -- import lib
r=refcount
-- catch "undefined" global variables
local env = _ENV -- Lua 5.2
if not env then env = getfenv () end -- Lua 5.1
setmetatable(env, {__index=function (t,i) error("undefined global variable `"..i.."'",2) end})
a = r.A()
assert(a:ref_count() == 1)
b1 = r.B(a)
assert(a:ref_count() == 2)
b2 = r.B.create(a)
assert(a:ref_count() == 3)
b3 = b2:cloner()
assert(a:ref_count() == 4)
rca = b1:get_rca() -- RCPtr<A> is not wrapped
assert(a:ref_count() == 5)
b4 = r.global_create(a)
assert(a:ref_count() == 6)