Author: pmouawad
Date: Wed Nov 22 07:27:11 2017
New Revision: 1816006
URL: http://svn.apache.org/viewvc?rev=1816006&view=rev
Log:
Bug 61759 __changeCase</code> function to change different cases of a string
Take into account some remarks from Felix:
- Change enum names
- Make CamelCase work as described in wikipedia
- rename cz
Bugzilla Id: 61759
Modified:
jmeter/trunk/src/functions/org/apache/jmeter/functions/ChangeCase.java
jmeter/trunk/test/src/org/apache/jmeter/functions/TestChangeCase.java
jmeter/trunk/xdocs/usermanual/functions.xml
Modified: jmeter/trunk/src/functions/org/apache/jmeter/functions/ChangeCase.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/functions/org/apache/jmeter/functions/ChangeCase.java?rev=1816006&r1=1816005&r2=1816006&view=diff
==============================================================================
--- jmeter/trunk/src/functions/org/apache/jmeter/functions/ChangeCase.java
(original)
+++ jmeter/trunk/src/functions/org/apache/jmeter/functions/ChangeCase.java Wed
Nov 22 07:27:11 2017
@@ -96,10 +96,10 @@ public class ChangeCase extends Abstract
case CAPITALIZE:
targetString = StringUtils.capitalize(originalString);
break;
- case CAMEL_CASE:
+ case LOWER_CAMEL_CASE:
targetString = camel(originalString, false);
break;
- case CAMEL_CASE_FIRST_LOWER:
+ case UPPER_CAMEL_CASE:
targetString = camel(originalString, true);
break;
default:
@@ -131,27 +131,16 @@ public class ChangeCase extends Abstract
StringBuilder builder = new StringBuilder(str.length());
String[] tokens = NOT_ALPHANUMERIC_REGEX.split(str);
for (int i = 0; i < tokens.length; i++) {
+ String lowerCased = StringUtils.lowerCase(tokens[i]);
if(i == 0) {
- builder.append(isFirstCapitalized ? decapitalize(tokens[0]):
- StringUtils.capitalize(tokens[i]));
+ builder.append(isFirstCapitalized ?
StringUtils.capitalize(lowerCased):
+ lowerCased);
} else {
- builder.append(StringUtils.capitalize(tokens[i]));
+ builder.append(StringUtils.capitalize(lowerCased));
}
}
return builder.toString();
}
-
- /**
- * @param string to decapitalize
- */
- private static String decapitalize(String string) {
- if (string == null || string.length() == 0) {
- return string;
- }
- char[] c = string.toCharArray();
- c[0] = Character.toLowerCase(c[0]);
- return new String(c);
- }
/**
* ChangeCase Modes
@@ -160,8 +149,8 @@ public class ChangeCase extends Abstract
*
*/
public enum ChangeCaseMode {
- UPPER("UPPER"), LOWER("LOWER"), CAPITALIZE("CAPITALIZE"),
CAMEL_CASE("CAMEL_CASE"), CAMEL_CASE_FIRST_LOWER(
- "CAMEL_CASE_FIRST_LOWER");
+ UPPER("UPPER"), LOWER("LOWER"), CAPITALIZE("CAPITALIZE"),
+ UPPER_CAMEL_CASE("UPPER_CAMEL_CASE"),
LOWER_CAMEL_CASE("LOWER_CAMEL_CASE");
private String mode;
private ChangeCaseMode(String mode) {
@@ -180,9 +169,9 @@ public class ChangeCase extends Abstract
*/
public static ChangeCaseMode typeOf(String mode) {
EnumSet<ChangeCaseMode> allOf =
EnumSet.allOf(ChangeCaseMode.class);
- for (ChangeCaseMode zs : allOf) {
- if (zs.getName().equals(mode)) {
- return zs;
+ for (ChangeCaseMode csm : allOf) {
+ if (csm.getName().equals(mode)) {
+ return csm;
}
}
return null;
Modified: jmeter/trunk/test/src/org/apache/jmeter/functions/TestChangeCase.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/functions/TestChangeCase.java?rev=1816006&r1=1816005&r2=1816006&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/functions/TestChangeCase.java
(original)
+++ jmeter/trunk/test/src/org/apache/jmeter/functions/TestChangeCase.java Wed
Nov 22 07:27:11 2017
@@ -96,10 +96,10 @@ public class TestChangeCase extends JMet
@Test
public void testChangeCaseCamelCase() throws Exception {
params.add(new CompoundVariable("ab-CD eF"));
- params.add(new CompoundVariable("CAMEL_CASE"));
+ params.add(new CompoundVariable("UPPER_CAMEL_CASE"));
changeCase.setParameters(params);
String returnValue = changeCase.execute(result, null);
- assertEquals("AbCDEF", returnValue);
+ assertEquals("AbCdEf", returnValue);
}
@Test
@@ -114,23 +114,23 @@ public class TestChangeCase extends JMet
@Test
public void testChangeCaseCamelCaseFirstLower() throws Exception {
params.add(new CompoundVariable("ab-CD eF"));
- params.add(new CompoundVariable("camel_CASE_FIRST_LOWER"));
+ params.add(new CompoundVariable("LOWER_CAMEL_CASE"));
changeCase.setParameters(params);
String returnValue = changeCase.execute(result, null);
- assertEquals("abCDEF", returnValue);
+ assertEquals("abCdEf", returnValue);
}
@Test
public void testChangeCaseCamelCaseFirstLowerWithFirstUpperCaseChar()
throws Exception {
params.add(new CompoundVariable("Ab-CD eF"));
- params.add(new CompoundVariable("camel_CASE_FIRST_LOWER"));
+ params.add(new CompoundVariable("lower_CAMEL_CASE"));
changeCase.setParameters(params);
String returnValue = changeCase.execute(result, null);
- assertEquals("abCDEF", returnValue);
+ assertEquals("abCdEf", returnValue);
params.clear();
params.add(new CompoundVariable(" zadad"));
- params.add(new CompoundVariable("camel_CASE_FIRST_LOWER"));
+ params.add(new CompoundVariable("lower_CAMEL_CASE"));
changeCase.setParameters(params);
returnValue = changeCase.execute(result, null);
assertEquals("Zadad", returnValue);
Modified: jmeter/trunk/xdocs/usermanual/functions.xml
URL:
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/functions.xml?rev=1816006&r1=1816005&r2=1816006&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/functions.xml (original)
+++ jmeter/trunk/xdocs/usermanual/functions.xml Wed Nov 22 07:27:11 2017
@@ -1652,8 +1652,8 @@ becomes:
<li><code>UPPER</code> result as AB-CD EF</li>
<li><code>LOWER</code> result as ab-cd ed</li>
<li><code>CAPITALIZE</code> result as Ab-CD eF</li>
- <li><code>CAMEL_CASE</code>result as AbCDEF</li>
- <li><code>CAMEL_CASE_FIRST_LOWER</code>result as abCDEF</li>
+ <li><code>UPPER_CAMEL_CASE</code>result as AbCdEf</li>
+ <li><code>LOWER_CAMEL_CASE</code>result as abCdEf</li>
</ul>
<note>mode is case insensitive</note>
</property>