You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ba...@apache.org on 2006/06/06 21:35:15 UTC
svn commit: r412200 - in /jakarta/commons/proper/lang/trunk/src:
java/org/apache/commons/lang/StringUtils.java
test/org/apache/commons/lang/StringUtilsEqualsIndexOfTest.java
Author: bayard
Date: Tue Jun 6 12:35:14 2006
New Revision: 412200
URL: http://svn.apache.org/viewvc?rev=412200&view=rev
Log:
Added containsIgnoreCase method - LANG-263
Modified:
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java
jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/StringUtilsEqualsIndexOfTest.java
Modified: jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java?rev=412200&r1=412199&r2=412200&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java (original)
+++ jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java Tue Jun 6 12:35:14 2006
@@ -1034,6 +1034,36 @@
return str.indexOf(searchStr) >= 0;
}
+ /**
+ * <p>Checks if String contains a search String irrespective of case,
+ * handling <code>null</code>. This method uses
+ * {@link #contains(String, String)}.</p>
+ *
+ * <p>A <code>null</code> String will return <code>false</code>.</p>
+ *
+ * <pre>
+ * StringUtils.contains(null, *) = false
+ * StringUtils.contains(*, null) = false
+ * StringUtils.contains("", "") = true
+ * StringUtils.contains("abc", "") = true
+ * StringUtils.contains("abc", "a") = true
+ * StringUtils.contains("abc", "z") = false
+ * StringUtils.contains("abc", "A") = true
+ * StringUtils.contains("abc", "Z") = false
+ * </pre>
+ *
+ * @param str the String to check, may be null
+ * @param searchStr the String to find, may be null
+ * @return true if the String contains the search String irrespective of
+ * case or false if not or <code>null</code> string input
+ */
+ public static boolean containsIgnoreCase(String str, String searchStr) {
+ if (str == null || searchStr == null) {
+ return false;
+ }
+ return contains(str.toUpperCase(), searchStr.toUpperCase());
+ }
+
// IndexOfAny chars
//-----------------------------------------------------------------------
/**
Modified: jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/StringUtilsEqualsIndexOfTest.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/StringUtilsEqualsIndexOfTest.java?rev=412200&r1=412199&r2=412200&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/StringUtilsEqualsIndexOfTest.java (original)
+++ jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/StringUtilsEqualsIndexOfTest.java Tue Jun 6 12:35:14 2006
@@ -274,6 +274,40 @@
assertEquals(false, StringUtils.contains("abc", "z"));
}
+ public void testContainsIgnoreCase_StringString() {
+ assertFalse(StringUtils.containsIgnoreCase(null, null));
+
+ // Null tests
+ assertFalse(StringUtils.containsIgnoreCase(null, ""));
+ assertFalse(StringUtils.containsIgnoreCase(null, "a"));
+ assertFalse(StringUtils.containsIgnoreCase(null, "abc"));
+
+ assertFalse(StringUtils.containsIgnoreCase("", null));
+ assertFalse(StringUtils.containsIgnoreCase("a", null));
+ assertFalse(StringUtils.containsIgnoreCase("abc", null));
+
+ // Match len = 0
+ assertTrue(StringUtils.containsIgnoreCase("", ""));
+ assertTrue(StringUtils.containsIgnoreCase("a", ""));
+ assertTrue(StringUtils.containsIgnoreCase("abc", ""));
+
+ // Match len = 1
+ assertFalse(StringUtils.containsIgnoreCase("", "a"));
+ assertTrue(StringUtils.containsIgnoreCase("a", "a"));
+ assertTrue(StringUtils.containsIgnoreCase("abc", "a"));
+ assertFalse(StringUtils.containsIgnoreCase("", "A"));
+ assertTrue(StringUtils.containsIgnoreCase("a", "A"));
+ assertTrue(StringUtils.containsIgnoreCase("abc", "A"));
+
+ // Match len > 1
+ assertFalse(StringUtils.containsIgnoreCase("", "abc"));
+ assertFalse(StringUtils.containsIgnoreCase("a", "abc"));
+ assertTrue(StringUtils.containsIgnoreCase("xabcz", "abc"));
+ assertFalse(StringUtils.containsIgnoreCase("", "ABC"));
+ assertFalse(StringUtils.containsIgnoreCase("a", "ABC"));
+ assertTrue(StringUtils.containsIgnoreCase("xabcz", "ABC"));
+ }
+
//-----------------------------------------------------------------------
public void testIndexOfAny_StringStringarray() {
assertEquals(-1, StringUtils.indexOfAny(null, (String[]) null));
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org