You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by br...@apache.org on 2013/06/28 18:21:09 UTC
svn commit: r1497829 - in /commons/proper/lang/trunk/src:
main/java/org/apache/commons/lang3/StringUtils.java
test/java/org/apache/commons/lang3/StringUtilsTest.java
Author: brentworden
Date: Fri Jun 28 16:21:09 2013
New Revision: 1497829
URL: http://svn.apache.org/r1497829
Log:
short circuit (un)capitalize if string is already (un)capitalized.
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java?rev=1497829&r1=1497828&r2=1497829&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java Fri Jun 28 16:21:09 2013
@@ -5581,8 +5581,15 @@ public class StringUtils {
if (str == null || (strLen = str.length()) == 0) {
return str;
}
+
+ char firstChar = str.charAt(0);
+ if (Character.isTitleCase(firstChar)) {
+ // already capitalized
+ return str;
+ }
+
return new StringBuilder(strLen)
- .append(Character.toTitleCase(str.charAt(0)))
+ .append(Character.toTitleCase(firstChar))
.append(str.substring(1))
.toString();
}
@@ -5612,8 +5619,15 @@ public class StringUtils {
if (str == null || (strLen = str.length()) == 0) {
return str;
}
+
+ char firstChar = str.charAt(0);
+ if (Character.isLowerCase(firstChar)) {
+ // already uncapitalized
+ return str;
+ }
+
return new StringBuilder(strLen)
- .append(Character.toLowerCase(str.charAt(0)))
+ .append(Character.toLowerCase(firstChar))
.append(str.substring(1))
.toString();
}
Modified: commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java?rev=1497829&r1=1497828&r2=1497829&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java (original)
+++ commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java Fri Jun 28 16:21:09 2013
@@ -129,14 +129,20 @@ public class StringUtilsTest {
assertEquals(null, StringUtils.uncapitalize(null));
assertEquals("capitalize(empty-string) failed",
- "", StringUtils.capitalize("") );
+ "", StringUtils.capitalize("") );
assertEquals("capitalize(single-char-string) failed",
"X", StringUtils.capitalize("x") );
-
+ assertEquals("capitalize(String) failed",
+ FOO_CAP, StringUtils.capitalize(FOO_CAP) );
+ assertEquals("capitalize(string) failed",
+ FOO_CAP, StringUtils.capitalize(FOO_UNCAP) );
+
assertEquals("uncapitalize(String) failed",
- FOO_UNCAP, StringUtils.uncapitalize(FOO_CAP) );
+ FOO_UNCAP, StringUtils.uncapitalize(FOO_CAP) );
+ assertEquals("uncapitalize(string) failed",
+ FOO_UNCAP, StringUtils.uncapitalize(FOO_UNCAP) );
assertEquals("uncapitalize(empty-string) failed",
- "", StringUtils.uncapitalize("") );
+ "", StringUtils.uncapitalize("") );
assertEquals("uncapitalize(single-char-string) failed",
"x", StringUtils.uncapitalize("X") );