blob: da65365939d6090480f75495e347bfa07a495e3d [file] [log] [blame]
#!/usr/bin/env ruby
require 'swig_assert'
require 'argcargvtest'
include Argcargvtest
$largs = ["hi", "hola", "hello"]
if mainc($largs) != 3
raise RuntimeError, "bad main typemap"
end
$targs = ["hi", "hola"]
if mainv($targs, 0) != "hi"
raise RuntimeError, "bad main typemap"
end
if mainv($targs, 1) != "hola"
raise RuntimeError, "bad main typemap"
end
if mainv($targs, 2) != "<<NULL>>"
raise RuntimeError, "bad main typemap"
end
$error = 0
$ret = 0
begin
mainv("hello", 1)
$error = 1
rescue => e
$ret = 1
end
if $error == 1 or $ret != 1
raise RuntimeError, "bad main typemap"
end
initializeApp($largs)
# Check that an empty array works.
$empty_args = []
if mainc($empty_args) != 0
raise RuntimeError, "bad main typemap"
end
if mainv($empty_args, 0) != "<<NULL>>"
raise RuntimeError, "bad main typemap"
end
# Check that empty strings are handled.
$empty_string = ["hello", "", "world"]
if mainc($empty_string) != 3
raise RuntimeError, "bad main typemap"
end
if mainv($empty_string, 0) != "hello"
raise RuntimeError, "bad main typemap"
end
if mainv($empty_string, 1) != ""
raise RuntimeError, "bad main typemap"
end
if mainv($empty_string, 2) != "world"
raise RuntimeError, "bad main typemap"
end
if mainv($empty_string, 3) != "<<NULL>>"
raise RuntimeError, "bad main typemap"
end