mirror of https://github.com/swig/swig
36 lines
1.2 KiB
Lua
36 lines
1.2 KiB
Lua
-- file: example.lua
|
|
|
|
---- importing ----
|
|
if string.sub(_VERSION,1,7)=='Lua 5.0' then
|
|
-- lua5.0 doesn't have a nice way to do this
|
|
lib=loadlib('example.dll','luaopen_example') or loadlib('example.so','luaopen_example')
|
|
assert(lib)()
|
|
else
|
|
-- lua 5.1 does
|
|
require('example')
|
|
end
|
|
|
|
print("ICONST = "..example.ICONST.." (should be 42)")
|
|
print("FCONST = "..example.FCONST.." (should be 2.1828)")
|
|
print("CCONST = "..example.CCONST.." (should be 'x')")
|
|
print("CCONST2 = "..example.CCONST2.." (this should be on a new line)")
|
|
print("SCONST = "..example.SCONST.." (should be 'Hello World')")
|
|
print("SCONST2 = "..example.SCONST2.." (should be '\"Hello World\"')")
|
|
print("EXPR = "..example.EXPR.." (should be 48.5484)")
|
|
print("iconst = "..example.iconst.." (should be 37)")
|
|
print("fconst = "..example.fconst.." (should be 3.14)")
|
|
|
|
-- helper to check that a fn failed
|
|
function checkfail(fn)
|
|
if pcall(fn)==true then
|
|
print("that shouldn't happen, it worked")
|
|
else
|
|
print("function failed as expected")
|
|
end
|
|
end
|
|
|
|
-- these should fail
|
|
-- example.EXTERN is a nil value, so concatenation will make it fail
|
|
checkfail(function() print("EXTERN = "..example.EXTERN) end)
|
|
checkfail(function() print("FOO = "..example.FOO) end)
|