You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2010/06/16 17:48:56 UTC

svn commit: r955277 - in /commons/proper/cli/trunk/src: main/java/org/apache/commons/cli/OptionValidator.java test/java/org/apache/commons/cli/OptionBuilderTest.java

Author: ebourg
Date: Wed Jun 16 15:48:56 2010
New Revision: 955277

URL: http://svn.apache.org/viewvc?rev=955277&view=rev
Log:
A space character is no longer accepted as a valid short option

Modified:
    commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionValidator.java
    commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/OptionBuilderTest.java

Modified: commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionValidator.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionValidator.java?rev=955277&r1=955276&r2=955277&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionValidator.java (original)
+++ commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionValidator.java Wed Jun 16 15:48:56 2010
@@ -49,15 +49,15 @@ class OptionValidator
         {
             return;
         }
-
+        
         // handle the single character opt
-        else if (opt.length() == 1)
+        if (opt.length() == 1)
         {
             char ch = opt.charAt(0);
 
             if (!isValidOpt(ch))
             {
-                throw new IllegalArgumentException("illegal option value '" + ch + "'");
+                throw new IllegalArgumentException("Illegal option name '" + ch + "'");
             }
         }
 
@@ -70,7 +70,7 @@ class OptionValidator
             {
                 if (!isValidChar(chars[i]))
                 {
-                    throw new IllegalArgumentException("opt contains illegal character value '" + chars[i] + "'");
+                    throw new IllegalArgumentException("The option '" + opt + "' contains an illegal character : '" + chars[i] + "'");
                 }
             }
         }
@@ -80,12 +80,11 @@ class OptionValidator
      * Returns whether the specified character is a valid Option.
      *
      * @param c the option to validate
-     * @return true if <code>c</code> is a letter, ' ', '?' or '@',
-     *         otherwise false.
+     * @return true if <code>c</code> is a letter, '?' or '@', otherwise false.
      */
     private static boolean isValidOpt(char c)
     {
-        return isValidChar(c) || c == ' ' || c == '?' || c == '@';
+        return isValidChar(c) || c == '?' || c == '@';
     }
 
     /**

Modified: commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/OptionBuilderTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/OptionBuilderTest.java?rev=955277&r1=955276&r2=955277&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/OptionBuilderTest.java (original)
+++ commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/OptionBuilderTest.java Wed Jun 16 15:48:56 2010
@@ -97,6 +97,14 @@ public class OptionBuilderTest extends T
         // '@'
         Option opt2 = OptionBuilder.withDescription("read from stdin").create('@');
         assertEquals("@", opt2.getOpt());
+        
+        // ' '
+        try {
+            OptionBuilder.create(' ');
+            fail( "IllegalArgumentException not caught" );            
+        } catch (IllegalArgumentException e) {
+            // success
+        }
     }
 
     public void testOptionArgNumbers()