blob: 38d99ae5c0ba4fb92e43b0850d4a8c3c5c34a657 [file] [log] [blame]
require("import") -- the import fn
import("smart_pointer_multi") -- import lib into global
spm=smart_pointer_multi --alias
-- catching undefined 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})
foo = spm.Foo()
foo.x = 5
assert(foo:getx() == 5)
bar = spm.Bar(foo)
spam = spm.Spam(bar)
grok = spm.Grok(bar)
assert(bar:getx() == 5)
assert(spam:getx() == 5)
spam.x = 7
assert(grok:getx() == 7)
grok.x = 10
assert(foo:getx() == 10)