diff options
Diffstat (limited to 'args4j/args4j/test/org/kohsuke/args4j/spi/PatternOptionHandlerTest.java')
-rw-r--r-- | args4j/args4j/test/org/kohsuke/args4j/spi/PatternOptionHandlerTest.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/args4j/args4j/test/org/kohsuke/args4j/spi/PatternOptionHandlerTest.java b/args4j/args4j/test/org/kohsuke/args4j/spi/PatternOptionHandlerTest.java new file mode 100644 index 0000000..74fd5b2 --- /dev/null +++ b/args4j/args4j/test/org/kohsuke/args4j/spi/PatternOptionHandlerTest.java @@ -0,0 +1,50 @@ +package org.kohsuke.args4j.spi; + +import java.util.Locale; +import java.util.regex.Pattern; + +import junit.framework.TestCase; +import org.kohsuke.args4j.CmdLineException; + +import org.kohsuke.args4j.CmdLineParser; +import org.kohsuke.args4j.Option; + +/** Simple test for the {@link PatternOptionHandler}. + * @author Stephan Fuhrmann + */ +public class PatternOptionHandlerTest extends TestCase { + + private class TestBean { + @Option(name="-pattern") + private Pattern pattern; + } + + public void testParseSuccess() throws Exception { + + TestBean bean = new TestBean(); + CmdLineParser parser = new CmdLineParser(bean); + parser.parseArgument("-pattern", ".*"); + + assertEquals(Pattern.compile(".*").toString(), bean.pattern.toString()); + } + + + public void testParseFail() throws Exception { + + Locale old = Locale.getDefault(); + Locale.setDefault(Locale.ENGLISH); + TestBean bean = new TestBean(); + CmdLineParser parser = new CmdLineParser(bean); + try { + parser.parseArgument("-pattern", "*"); + fail("Expecting exception"); + } + catch (CmdLineException e) { + assertEquals("\"-pattern\" must be a regular expression", e.getMessage()); + } + finally { + Locale.setDefault(old); + } + } + +} |