blob: 5e58648eeb64cd5be3de5416ef99fca2610369c7 [file] [log] [blame]
require("import") -- the import fn
import("smart_pointer_not") -- import lib into global
spn=smart_pointer_not --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 = spn.Foo()
foo.x = 7
assert(foo:getx() == 7)
bar = spn.Bar(foo)
success = pcall(bar.getx, bar) -- Bar is not a smart pointer. Call should fail
assert(not success)
spam = spn.Spam(foo)
success = pcall(spam.getx, spam) -- Spam is not a smart pointer. Call should fail
assert(not success)
grok = spn.Grok(foo)
success = pcall(grok.getx, grok) -- Spam is not a smart pointer. Call should fail
assert(not success)