Author: bayard
Date: Mon Jun  4 21:01:08 2007
New Revision: 544360

URL: http://svn.apache.org/viewvc?view=rev&rev=544360
Log:
Applying Brian Egge's improvement from CLI-132

Modified:
    
jakarta/commons/proper/cli/branches/cli-1.0.x/src/java/org/apache/commons/cli/Parser.java
    
jakarta/commons/proper/cli/branches/cli-1.0.x/src/test/org/apache/commons/cli/OptionsTest.java

Modified: 
jakarta/commons/proper/cli/branches/cli-1.0.x/src/java/org/apache/commons/cli/Parser.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/cli/branches/cli-1.0.x/src/java/org/apache/commons/cli/Parser.java?view=diff&rev=544360&r1=544359&r2=544360
==============================================================================
--- 
jakarta/commons/proper/cli/branches/cli-1.0.x/src/java/org/apache/commons/cli/Parser.java
 (original)
+++ 
jakarta/commons/proper/cli/branches/cli-1.0.x/src/java/org/apache/commons/cli/Parser.java
 Mon Jun  4 21:01:08 2007
@@ -295,7 +295,10 @@
         if (requiredOptions.size() > 0)
         {
             Iterator iter = requiredOptions.iterator();
-            StringBuffer buff = new StringBuffer();
+            StringBuffer buff = new StringBuffer("Missing required option");
+            buff.append(requiredOptions.size() == 1 ? "" : "s");
+            buff.append(": ");
+
 
             // loop through the required options
             while (iter.hasNext())

Modified: 
jakarta/commons/proper/cli/branches/cli-1.0.x/src/test/org/apache/commons/cli/OptionsTest.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/cli/branches/cli-1.0.x/src/test/org/apache/commons/cli/OptionsTest.java?view=diff&rev=544360&r1=544359&r2=544360
==============================================================================
--- 
jakarta/commons/proper/cli/branches/cli-1.0.x/src/test/org/apache/commons/cli/OptionsTest.java
 (original)
+++ 
jakarta/commons/proper/cli/branches/cli-1.0.x/src/test/org/apache/commons/cli/OptionsTest.java
 Mon Jun  4 21:01:08 2007
@@ -94,7 +94,28 @@
         assertTrue("Everything in help should be in 
all",allOptions.containsAll(helpOptions));        
     }
 
+    public void testMissingOptionException() throws ParseException {
+        Options options = new Options();
+        options.addOption(OptionBuilder.isRequired().create("f"));
+        try {
+            new PosixParser().parse(options, new String[0]);
+            fail("Expected MissingOptionException to be thrown");
+        } catch (MissingOptionException e) {
+            assertEquals("Missing required option: f", e.getMessage());
+        }
+    }
 
+    public void testMissingOptionsException() throws ParseException {
+        Options options = new Options();
+        options.addOption(OptionBuilder.isRequired().create("f"));
+        options.addOption(OptionBuilder.isRequired().create("x"));
+        try {
+            new PosixParser().parse(options, new String[0]);
+            fail("Expected MissingOptionException to be thrown");
+        } catch (MissingOptionException e) {
+            assertEquals("Missing required options: fx", e.getMessage());
+        }
+    }
 
 }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to