mirror of https://github.com/swig/swig
39 lines
1.3 KiB
Lua
39 lines
1.3 KiB
Lua
require("import") -- the import fn
|
|
import("argcargvtest") -- import lib
|
|
v = argcargvtest
|
|
|
|
-- 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})
|
|
|
|
largs = {"hi", "hola", "hello"}
|
|
assert(v.mainc(largs) == 3, "bad main typemap")
|
|
|
|
targs = {"hi", "hola"}
|
|
assert(v.mainv(targs, 0) == "hi", "bad main typemap")
|
|
assert(v.mainv(targs, 1) == "hola", "bad main typemap")
|
|
assert(v.mainv(targs, 2) == "<<NULL>>", "bad main typemap")
|
|
|
|
errorVal = 0
|
|
function try()
|
|
mainv("hello", 1)
|
|
errorVal = 1
|
|
end
|
|
assert(not pcall(try) and errorVal == 0, "bad main typemap")
|
|
|
|
v.initializeApp(largs)
|
|
|
|
-- Check that an empty array works.
|
|
empty_args = {}
|
|
assert(v.mainc(empty_args) == 0, "bad main typemap")
|
|
assert(v.mainv(empty_args, 0) == "<<NULL>>", "bad main typemap")
|
|
|
|
-- Check that empty strings are handled.
|
|
empty_string = {"hello", "", "world"}
|
|
assert(v.mainc(empty_string) == 3, "bad main typemap")
|
|
assert(v.mainv(empty_string, 0) == "hello", "bad main typemap")
|
|
assert(v.mainv(empty_string, 1) == "", "bad main typemap")
|
|
assert(v.mainv(empty_string, 2) == "world", "bad main typemap")
|
|
assert(v.mainv(empty_string, 3) == "<<NULL>>", "bad main typemap")
|