@Test public void testMainArgAfterOneArgOption() { String[] args = {"-arg", "-red=colour", "-update", "200", "File.jnlp", "-arg", "-grizzly=bear"}; OptionParser parser = new OptionParser(args, OptionsDefinitions.getJavaWsOptions()); assertEquals("File.jnlp", parser.getMainArg()); }
@Test public void testMultipleOptionsWithMainArgAtTheEnd() { String[] args = { "-arg", "-update=green", "-version", "-headless", "-arg", "-about", "-arg", "blah1", "blah2", "blah3", "-noupdate", "-arg", "blah4", "blah5", "blah6", "-headless", "File.jnlp" }; OptionParser parser = new OptionParser(args, OptionsDefinitions.getJavaWsOptions()); List<String> values = parser.getParams(OptionsDefinitions.OPTIONS.ARG); assertEquals(6, values.size()); assertTrue(parser.mainArgExists()); assertEquals("File.jnlp", parser.getMainArg()); assertEquals(0, values.indexOf("blah1")); assertEquals(1, values.indexOf("blah2")); assertEquals(2, values.indexOf("blah3")); assertEquals(3, values.indexOf("blah4")); assertEquals(4, values.indexOf("blah5")); assertEquals(5, values.indexOf("blah6")); }
@Test public void testMainArgAfterManyArgsOptionIsNotAccepted() { String[] args = {"-arg", "-red=colour", "-arg", "200", "File.jnlp", "-arg", "-grizzly=bear"}; OptionParser parser = new OptionParser(args, OptionsDefinitions.getJavaWsOptions()); assertFalse(parser.mainArgExists()); assertNotEquals("File.jnlp", parser.getMainArg()); }
@Test public void testMultipleMainArgsReturnsFirstMainArg() { String[] args = {"File.jnlp", "FileTwo,jnlp", "FileThree.jnlp"}; OptionParser parser = new OptionParser(args, OptionsDefinitions.getJavaWsOptions()); assertTrue(parser.mainArgExists()); assertEquals("File.jnlp", parser.getMainArg()); }
@Test public void testSameTagMultipleTimesWithoutMainArg() { String[] args = {"-headless", "-headless", "-headless", "-headless", "-headless"}; OptionParser parser = new OptionParser(args, OptionsDefinitions.getJavaWsOptions()); assertFalse(parser.mainArgExists()); assertEquals("", parser.getMainArg()); assertTrue(parser.hasOption(OptionsDefinitions.OPTIONS.HEADLESS)); }
@Test public void testMultipleArgTagSurroundingMainArgAfterNoArgOption() { String[] args = { "-arg", "blue", "green", "red", "-headless", "File.jnlp", "-arg", "yellow", "purple" }; OptionParser parser = new OptionParser(args, OptionsDefinitions.getJavaWsOptions()); List<String> values = parser.getParams(OptionsDefinitions.OPTIONS.ARG); assertEquals(0, values.indexOf("blue")); assertEquals(1, values.indexOf("green")); assertEquals(2, values.indexOf("red")); assertEquals(3, values.indexOf("yellow")); assertEquals(4, values.indexOf("purple")); assertTrue(parser.mainArgExists()); assertEquals("File.jnlp", parser.getMainArg()); assertTrue(parser.hasOption(OptionsDefinitions.OPTIONS.HEADLESS)); }