var test = require("argcargvtest"); const largs = ["hi", "hola", "hello"]; if (test.mainc(largs) != 3) throw "calling mainc failed"; const targs = ["hi", "hola"]; if (test.mainv(targs, 0) != "hi") throw "calling mainv failed"; if (test.mainv(targs, 1) != "hola") throw "calling mainv failed"; if (test.mainv(targs, 2) != "<>") throw "calling mainv failed"; caughtException = false; try { test.mainv("hello", 1); } catch (err) { caughtException = true; } if (!caughtException) { throw "mainv without array should fail" } test.initializeApp(largs); // Check that an empty array works. const empty_args = []; if (test.mainc(empty_args) != 0) throw "bad main typemap"; if (test.mainv(empty_args, 0) != "<>") throw "calling mainv failed"; // Check that empty strings are handled. const empty_string = ["hello", "", "world"]; if (test.mainc(empty_string) != 3) throw "bad main typemap"; if (test.mainv(empty_string, 0) != "hello") throw "bad main typemap"; if (test.mainv(empty_string, 1) != "") throw "bad main typemap"; if (test.mainv(empty_string, 2) != "world") throw "bad main typemap"; if (test.mainv(empty_string, 3) != "<>") throw "bad main typemap";