aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/java/jopt-simple/src/test/java/joptsimple/examples/PosixlyCorrectTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/java/jopt-simple/src/test/java/joptsimple/examples/PosixlyCorrectTest.java')
-rw-r--r--third_party/java/jopt-simple/src/test/java/joptsimple/examples/PosixlyCorrectTest.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/third_party/java/jopt-simple/src/test/java/joptsimple/examples/PosixlyCorrectTest.java b/third_party/java/jopt-simple/src/test/java/joptsimple/examples/PosixlyCorrectTest.java
new file mode 100644
index 0000000000..7acb957a77
--- /dev/null
+++ b/third_party/java/jopt-simple/src/test/java/joptsimple/examples/PosixlyCorrectTest.java
@@ -0,0 +1,37 @@
+package joptsimple.examples;
+
+import static java.util.Arrays.*;
+import static java.util.Collections.*;
+
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class PosixlyCorrectTest {
+ @Test
+ public void supportsPosixlyCorrectBehavior() {
+ OptionParser parser = new OptionParser( "i:j::k" );
+ String[] arguments = { "-ibar", "-i", "junk", "xyz", "-jixnay", "foo", "-k", "blah", "--", "bah" };
+
+ OptionSet options = parser.parse( arguments );
+
+ assertTrue( options.has( "i" ) );
+ assertTrue( options.has( "j" ) );
+ assertTrue( options.has( "k" ) );
+ assertEquals( asList( "bar", "junk" ), options.valuesOf( "i" ) );
+ assertEquals( asList( "ixnay" ), options.valuesOf( "j" ) );
+ assertEquals( asList( "xyz", "foo", "blah", "bah" ), options.nonOptionArguments() );
+
+ parser.posixlyCorrect( true );
+ options = parser.parse( arguments );
+
+ assertTrue( options.has( "i" ) );
+ assertFalse( options.has( "j" ) );
+ assertFalse( options.has( "k" ) );
+ assertEquals( asList( "bar", "junk" ), options.valuesOf( "i" ) );
+ assertEquals( emptyList(), options.valuesOf( "j" ) );
+ assertEquals( asList( "xyz", "-jixnay", "foo", "-k", "blah", "--", "bah" ), options.nonOptionArguments() );
+ }
+}