mirror of https://github.com/swig/swig
66 lines
1.3 KiB
Ruby
66 lines
1.3 KiB
Ruby
#!/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
|