| 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) != "<<NULL>>") | |
| 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) != "<<NULL>>") | |
| 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) != "<<NULL>>") | |
| throw "bad main typemap"; |