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 10:35:18 UTC
svn commit: r955156 - in /commons/proper/cli/trunk/src:
java/org/apache/commons/cli/Util.java
test/org/apache/commons/cli/UtilTest.java
Author: ebourg
Date: Wed Jun 16 08:35:18 2010
New Revision: 955156
URL: http://svn.apache.org/viewvc?rev=955156&view=rev
Log:
Restricted quote stripping to values containing exactly 2 quotes, one at the beginning and one at the end (CLI-185)
Modified:
commons/proper/cli/trunk/src/java/org/apache/commons/cli/Util.java
commons/proper/cli/trunk/src/test/org/apache/commons/cli/UtilTest.java
Modified: commons/proper/cli/trunk/src/java/org/apache/commons/cli/Util.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/java/org/apache/commons/cli/Util.java?rev=955156&r1=955155&r2=955156&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/java/org/apache/commons/cli/Util.java (original)
+++ commons/proper/cli/trunk/src/java/org/apache/commons/cli/Util.java Wed Jun 16 08:35:18 2010
@@ -62,14 +62,12 @@ class Util
*/
static String stripLeadingAndTrailingQuotes(String str)
{
- if (str.startsWith("\""))
+ int length = str.length();
+ if (length > 1 && str.startsWith("\"") && str.endsWith("\"") && str.substring(1, length - 1).indexOf('"') == -1)
{
- str = str.substring(1, str.length());
- }
- if (str.endsWith("\""))
- {
- str = str.substring(0, str.length() - 1);
+ str = str.substring(1, length - 1);
}
+
return str;
}
}
Modified: commons/proper/cli/trunk/src/test/org/apache/commons/cli/UtilTest.java
URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/org/apache/commons/cli/UtilTest.java?rev=955156&r1=955155&r2=955156&view=diff
==============================================================================
--- commons/proper/cli/trunk/src/test/org/apache/commons/cli/UtilTest.java (original)
+++ commons/proper/cli/trunk/src/test/org/apache/commons/cli/UtilTest.java Wed Jun 16 08:35:18 2010
@@ -35,5 +35,9 @@ public class UtilTest extends TestCase
public void testStripLeadingAndTrailingQuotes()
{
assertEquals("foo", Util.stripLeadingAndTrailingQuotes("\"foo\""));
+ assertEquals("foo \"bar\"", Util.stripLeadingAndTrailingQuotes("foo \"bar\""));
+ assertEquals("\"foo\" bar", Util.stripLeadingAndTrailingQuotes("\"foo\" bar"));
+ assertEquals("\"foo\" and \"bar\"", Util.stripLeadingAndTrailingQuotes("\"foo\" and \"bar\""));
+ assertEquals("\"", Util.stripLeadingAndTrailingQuotes("\""));
}
}