mirror of https://github.com/swig/swig
57 lines
2.0 KiB
Java
57 lines
2.0 KiB
Java
import argcargvtest.*;
|
|
|
|
public class argcargvtest_runme {
|
|
|
|
static {
|
|
try {
|
|
System.loadLibrary("argcargvtest");
|
|
} catch (UnsatisfiedLinkError e) {
|
|
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
|
System.exit(1);
|
|
}
|
|
}
|
|
|
|
public static void main(String argv[]) {
|
|
argcargvtest test = new argcargvtest();
|
|
|
|
String[] largs = {"hi", "hola", "hello"};
|
|
if (test.mainc(largs) != 3)
|
|
throw new RuntimeException("bad main typemap");
|
|
|
|
String[] targs = {"hi", "hola"};
|
|
if (!test.mainv(targs, 0).equals("hi"))
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(targs, 1).equals("hola"))
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(targs, 2).equals("<<NULL>>"))
|
|
throw new RuntimeException("bad main typemap");
|
|
|
|
// For dynamically typed languages we test this throws an exception or similar
|
|
// at runtime, but for Java this doesn't even compile (but we can't easily
|
|
// test for that here).
|
|
// test.mainv("hello", 1);
|
|
|
|
test.initializeApp(largs);
|
|
|
|
// Check that an empty array works.
|
|
String[] empty_args = {};
|
|
if (test.mainc(empty_args) != 0)
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(empty_args, 0).equals("<<NULL>>"))
|
|
throw new RuntimeException("bad main typemap");
|
|
|
|
// Check that empty strings are handled.
|
|
String[] empty_string = {"hello", "", "world"};
|
|
if (test.mainc(empty_string) != 3)
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(empty_string, 0).equals("hello"))
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(empty_string, 1).equals(""))
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(empty_string, 2).equals("world"))
|
|
throw new RuntimeException("bad main typemap");
|
|
if (!test.mainv(empty_string, 3).equals("<<NULL>>"))
|
|
throw new RuntimeException("bad main typemap");
|
|
}
|
|
}
|