aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java')
-rw-r--r--src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java467
1 files changed, 467 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java
new file mode 100644
index 000000000..b152a8df2
--- /dev/null
+++ b/src/test/java/org/apache/commons/lang3/StringUtilsContainsTest.java
@@ -0,0 +1,467 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.lang3;
+
+import static org.apache.commons.lang3.Supplementary.CharU20000;
+import static org.apache.commons.lang3.Supplementary.CharU20001;
+import static org.apache.commons.lang3.Supplementary.CharUSuppCharHigh;
+import static org.apache.commons.lang3.Supplementary.CharUSuppCharLow;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.Locale;
+
+import org.junit.jupiter.api.Test;
+import org.junitpioneer.jupiter.DefaultLocale;
+
+/**
+ * Unit tests {@link org.apache.commons.lang3.StringUtils} - Contains methods
+ */
+public class StringUtilsContainsTest extends AbstractLangTest {
+ @Test
+ public void testContains_Char() {
+ assertFalse(StringUtils.contains(null, ' '));
+ assertFalse(StringUtils.contains("", ' '));
+ assertFalse(StringUtils.contains("", null));
+ assertFalse(StringUtils.contains(null, null));
+ assertTrue(StringUtils.contains("abc", 'a'));
+ assertTrue(StringUtils.contains("abc", 'b'));
+ assertTrue(StringUtils.contains("abc", 'c'));
+ assertFalse(StringUtils.contains("abc", 'z'));
+ }
+
+ @Test
+ public void testContains_String() {
+ assertFalse(StringUtils.contains(null, null));
+ assertFalse(StringUtils.contains(null, ""));
+ assertFalse(StringUtils.contains(null, "a"));
+ assertFalse(StringUtils.contains("", null));
+ assertTrue(StringUtils.contains("", ""));
+ assertFalse(StringUtils.contains("", "a"));
+ assertTrue(StringUtils.contains("abc", "a"));
+ assertTrue(StringUtils.contains("abc", "b"));
+ assertTrue(StringUtils.contains("abc", "c"));
+ assertTrue(StringUtils.contains("abc", "abc"));
+ assertFalse(StringUtils.contains("abc", "z"));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContains_StringWithBadSupplementaryChars() {
+ // Test edge case: 1/2 of a (broken) supplementary char
+ assertFalse(StringUtils.contains(CharUSuppCharHigh, CharU20001));
+ assertFalse(StringUtils.contains(CharUSuppCharLow, CharU20001));
+ assertFalse(StringUtils.contains(CharU20001, CharUSuppCharHigh));
+ assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
+ assertTrue(StringUtils.contains(CharU20001, CharUSuppCharLow));
+ assertTrue(StringUtils.contains(CharU20001 + CharUSuppCharLow + "a", "a"));
+ assertTrue(StringUtils.contains(CharU20001 + CharUSuppCharHigh + "a", "a"));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContains_StringWithSupplementaryChars() {
+ assertTrue(StringUtils.contains(CharU20000 + CharU20001, CharU20000));
+ assertTrue(StringUtils.contains(CharU20000 + CharU20001, CharU20001));
+ assertTrue(StringUtils.contains(CharU20000, CharU20000));
+ assertFalse(StringUtils.contains(CharU20000, CharU20001));
+ }
+
+ @Test
+ public void testContainsAny_StringCharArray() {
+ assertFalse(StringUtils.containsAny(null, (char[]) null));
+ assertFalse(StringUtils.containsAny(null, new char[0]));
+ assertFalse(StringUtils.containsAny(null, 'a', 'b'));
+
+ assertFalse(StringUtils.containsAny("", (char[]) null));
+ assertFalse(StringUtils.containsAny("", new char[0]));
+ assertFalse(StringUtils.containsAny("", 'a', 'b'));
+
+ assertFalse(StringUtils.containsAny("zzabyycdxx", (char[]) null));
+ assertFalse(StringUtils.containsAny("zzabyycdxx", new char[0]));
+ assertTrue(StringUtils.containsAny("zzabyycdxx", 'z', 'a'));
+ assertTrue(StringUtils.containsAny("zzabyycdxx", 'b', 'y'));
+ assertTrue(StringUtils.containsAny("zzabyycdxx", 'z', 'y'));
+ assertFalse(StringUtils.containsAny("ab", 'z'));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsAny_StringCharArrayWithBadSupplementaryChars() {
+ // Test edge case: 1/2 of a (broken) supplementary char
+ assertFalse(StringUtils.containsAny(CharUSuppCharHigh, CharU20001.toCharArray()));
+ assertFalse(StringUtils.containsAny("abc" + CharUSuppCharHigh + "xyz", CharU20001.toCharArray()));
+ assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
+ assertFalse(StringUtils.containsAny(CharUSuppCharLow, CharU20001.toCharArray()));
+ assertFalse(StringUtils.containsAny(CharU20001, CharUSuppCharHigh.toCharArray()));
+ assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
+ assertTrue(StringUtils.containsAny(CharU20001, CharUSuppCharLow.toCharArray()));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsAny_StringCharArrayWithSupplementaryChars() {
+ assertTrue(StringUtils.containsAny(CharU20000 + CharU20001, CharU20000.toCharArray()));
+ assertTrue(StringUtils.containsAny("a" + CharU20000 + CharU20001, "a".toCharArray()));
+ assertTrue(StringUtils.containsAny(CharU20000 + "a" + CharU20001, "a".toCharArray()));
+ assertTrue(StringUtils.containsAny(CharU20000 + CharU20001 + "a", "a".toCharArray()));
+ assertTrue(StringUtils.containsAny(CharU20000 + CharU20001, CharU20001.toCharArray()));
+ assertTrue(StringUtils.containsAny(CharU20000, CharU20000.toCharArray()));
+ // Sanity check:
+ assertEquals(-1, CharU20000.indexOf(CharU20001));
+ assertEquals(0, CharU20000.indexOf(CharU20001.charAt(0)));
+ assertEquals(-1, CharU20000.indexOf(CharU20001.charAt(1)));
+ // Test:
+ assertFalse(StringUtils.containsAny(CharU20000, CharU20001.toCharArray()));
+ assertFalse(StringUtils.containsAny(CharU20001, CharU20000.toCharArray()));
+ }
+
+ @Test
+ public void testContainsAny_StringString() {
+ assertFalse(StringUtils.containsAny(null, (String) null));
+ assertFalse(StringUtils.containsAny(null, ""));
+ assertFalse(StringUtils.containsAny(null, "ab"));
+
+ assertFalse(StringUtils.containsAny("", (String) null));
+ assertFalse(StringUtils.containsAny("", ""));
+ assertFalse(StringUtils.containsAny("", "ab"));
+
+ assertFalse(StringUtils.containsAny("zzabyycdxx", (String) null));
+ assertFalse(StringUtils.containsAny("zzabyycdxx", ""));
+ assertTrue(StringUtils.containsAny("zzabyycdxx", "za"));
+ assertTrue(StringUtils.containsAny("zzabyycdxx", "by"));
+ assertTrue(StringUtils.containsAny("zzabyycdxx", "zy"));
+ assertFalse(StringUtils.containsAny("ab", "z"));
+ }
+
+ @Test
+ public void testContainsAny_StringStringArray() {
+ assertFalse(StringUtils.containsAny(null, (String[]) null));
+ assertFalse(StringUtils.containsAny(null, new String[0]));
+ assertFalse(StringUtils.containsAny(null, new String[] { "hello" }));
+ assertFalse(StringUtils.containsAny("", (String[]) null));
+ assertFalse(StringUtils.containsAny("", new String[0]));
+ assertFalse(StringUtils.containsAny("", new String[] { "hello" }));
+ assertFalse(StringUtils.containsAny("hello, goodbye", (String[]) null));
+ assertFalse(StringUtils.containsAny("hello, goodbye", new String[0]));
+ assertTrue(StringUtils.containsAny("hello, goodbye", new String[]{"hello", "goodbye"}));
+ assertTrue(StringUtils.containsAny("hello, goodbye", new String[]{"hello", "Goodbye"}));
+ assertFalse(StringUtils.containsAny("hello, goodbye", new String[]{"Hello", "Goodbye"}));
+ assertFalse(StringUtils.containsAny("hello, goodbye", new String[]{"Hello", null}));
+ assertFalse(StringUtils.containsAny("hello, null", new String[] { "Hello", null }));
+ // Javadoc examples:
+ assertTrue(StringUtils.containsAny("abcd", "ab", null));
+ assertTrue(StringUtils.containsAny("abcd", "ab", "cd"));
+ assertTrue(StringUtils.containsAny("abc", "d", "abc"));
+ }
+
+ @Test
+ public void testContainsAnyIgnoreCase_StringStringArray() {
+ assertFalse(StringUtils.containsAnyIgnoreCase(null, (String[]) null));
+ assertFalse(StringUtils.containsAnyIgnoreCase(null, new String[0]));
+ assertFalse(StringUtils.containsAnyIgnoreCase(null, new String[] { "hello" }));
+ assertFalse(StringUtils.containsAnyIgnoreCase("", (String[]) null));
+ assertFalse(StringUtils.containsAnyIgnoreCase("", new String[0]));
+ assertFalse(StringUtils.containsAnyIgnoreCase("", new String[] { "hello" }));
+ assertFalse(StringUtils.containsAnyIgnoreCase("hello, goodbye", (String[]) null));
+ assertFalse(StringUtils.containsAnyIgnoreCase("hello, goodbye", new String[0]));
+ assertTrue(StringUtils.containsAnyIgnoreCase("hello, goodbye", new String[]{"hello", "goodbye"}));
+ assertTrue(StringUtils.containsAnyIgnoreCase("hello, goodbye", new String[]{"hello", "Goodbye"}));
+ assertTrue(StringUtils.containsAnyIgnoreCase("hello, goodbye", new String[]{"Hello", "Goodbye"}));
+ assertTrue(StringUtils.containsAnyIgnoreCase("hello, goodbye", new String[]{"Hello", null}));
+ assertTrue(StringUtils.containsAnyIgnoreCase("hello, null", new String[] { "Hello", null }));
+ // Javadoc examples:
+ assertTrue(StringUtils.containsAnyIgnoreCase("abcd", "ab", null));
+ assertTrue(StringUtils.containsAnyIgnoreCase("abcd", "ab", "cd"));
+ assertTrue(StringUtils.containsAnyIgnoreCase("abc", "d", "abc"));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsAny_StringWithBadSupplementaryChars() {
+ // Test edge case: 1/2 of a (broken) supplementary char
+ assertFalse(StringUtils.containsAny(CharUSuppCharHigh, CharU20001));
+ assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
+ assertFalse(StringUtils.containsAny(CharUSuppCharLow, CharU20001));
+ assertFalse(StringUtils.containsAny(CharU20001, CharUSuppCharHigh));
+ assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
+ assertTrue(StringUtils.containsAny(CharU20001, CharUSuppCharLow));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsAny_StringWithSupplementaryChars() {
+ assertTrue(StringUtils.containsAny(CharU20000 + CharU20001, CharU20000));
+ assertTrue(StringUtils.containsAny(CharU20000 + CharU20001, CharU20001));
+ assertTrue(StringUtils.containsAny(CharU20000, CharU20000));
+ // Sanity check:
+ assertEquals(-1, CharU20000.indexOf(CharU20001));
+ assertEquals(0, CharU20000.indexOf(CharU20001.charAt(0)));
+ assertEquals(-1, CharU20000.indexOf(CharU20001.charAt(1)));
+ // Test:
+ assertFalse(StringUtils.containsAny(CharU20000, CharU20001));
+ assertFalse(StringUtils.containsAny(CharU20001, CharU20000));
+ }
+
+ @DefaultLocale(language = "de", country = "DE")
+ @Test
+ public void testContainsIgnoreCase_LocaleIndependence() {
+ final Locale[] locales = { Locale.ENGLISH, new Locale("tr"), Locale.getDefault() };
+
+ final String[][] tdata = { { "i", "I" }, { "I", "i" }, { "\u03C2", "\u03C3" }, { "\u03A3", "\u03C2" },
+ { "\u03A3", "\u03C3" }, };
+
+ final String[][] fdata = { { "\u00DF", "SS" }, };
+
+ for (final Locale testLocale : locales) {
+ Locale.setDefault(testLocale);
+ for (int j = 0; j < tdata.length; j++) {
+ assertTrue(StringUtils.containsIgnoreCase(tdata[j][0], tdata[j][1]),
+ Locale.getDefault() + ": " + j + " " + tdata[j][0] + " " + tdata[j][1]);
+ }
+ for (int j = 0; j < fdata.length; j++) {
+ assertFalse(StringUtils.containsIgnoreCase(fdata[j][0], fdata[j][1]),
+ Locale.getDefault() + ": " + j + " " + fdata[j][0] + " " + fdata[j][1]);
+ }
+ }
+ }
+
+ @Test
+ 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"));
+ }
+
+ @Test
+ public void testContainsNone_CharArray() {
+ final String str1 = "a";
+ final String str2 = "b";
+ final String str3 = "ab.";
+ final char[] chars1= {'b'};
+ final char[] chars2= {'.'};
+ final char[] chars3= {'c', 'd'};
+ final char[] emptyChars = {};
+ assertTrue(StringUtils.containsNone(null, (char[]) null));
+ assertTrue(StringUtils.containsNone("", (char[]) null));
+ assertTrue(StringUtils.containsNone(null, emptyChars));
+ assertTrue(StringUtils.containsNone(str1, emptyChars));
+ assertTrue(StringUtils.containsNone("", emptyChars));
+ assertTrue(StringUtils.containsNone("", chars1));
+ assertTrue(StringUtils.containsNone(str1, chars1));
+ assertTrue(StringUtils.containsNone(str1, chars2));
+ assertTrue(StringUtils.containsNone(str1, chars3));
+ assertFalse(StringUtils.containsNone(str2, chars1));
+ assertTrue(StringUtils.containsNone(str2, chars2));
+ assertTrue(StringUtils.containsNone(str2, chars3));
+ assertFalse(StringUtils.containsNone(str3, chars1));
+ assertFalse(StringUtils.containsNone(str3, chars2));
+ assertTrue(StringUtils.containsNone(str3, chars3));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsNone_CharArrayWithBadSupplementaryChars() {
+ // Test edge case: 1/2 of a (broken) supplementary char
+ assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001.toCharArray()));
+ assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
+ assertTrue(StringUtils.containsNone(CharUSuppCharLow, CharU20001.toCharArray()));
+ assertEquals(-1, CharU20001.indexOf(CharUSuppCharHigh));
+ assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharHigh.toCharArray()));
+ assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
+ assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharLow.toCharArray()));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsNone_CharArrayWithSupplementaryChars() {
+ assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20000.toCharArray()));
+ assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20001.toCharArray()));
+ assertFalse(StringUtils.containsNone(CharU20000, CharU20000.toCharArray()));
+ // Sanity check:
+ assertEquals(-1, CharU20000.indexOf(CharU20001));
+ assertEquals(0, CharU20000.indexOf(CharU20001.charAt(0)));
+ assertEquals(-1, CharU20000.indexOf(CharU20001.charAt(1)));
+ // Test:
+ assertTrue(StringUtils.containsNone(CharU20000, CharU20001.toCharArray()));
+ assertTrue(StringUtils.containsNone(CharU20001, CharU20000.toCharArray()));
+ }
+
+ @Test
+ public void testContainsNone_String() {
+ final String str1 = "a";
+ final String str2 = "b";
+ final String str3 = "ab.";
+ final String chars1= "b";
+ final String chars2= ".";
+ final String chars3= "cd";
+ assertTrue(StringUtils.containsNone(null, (String) null));
+ assertTrue(StringUtils.containsNone("", (String) null));
+ assertTrue(StringUtils.containsNone(null, ""));
+ assertTrue(StringUtils.containsNone(str1, ""));
+ assertTrue(StringUtils.containsNone("", ""));
+ assertTrue(StringUtils.containsNone("", chars1));
+ assertTrue(StringUtils.containsNone(str1, chars1));
+ assertTrue(StringUtils.containsNone(str1, chars2));
+ assertTrue(StringUtils.containsNone(str1, chars3));
+ assertFalse(StringUtils.containsNone(str2, chars1));
+ assertTrue(StringUtils.containsNone(str2, chars2));
+ assertTrue(StringUtils.containsNone(str2, chars3));
+ assertFalse(StringUtils.containsNone(str3, chars1));
+ assertFalse(StringUtils.containsNone(str3, chars2));
+ assertTrue(StringUtils.containsNone(str3, chars3));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsNone_StringWithBadSupplementaryChars() {
+ // Test edge case: 1/2 of a (broken) supplementary char
+ assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001));
+ assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001));
+ assertTrue(StringUtils.containsNone(CharUSuppCharLow, CharU20001));
+ assertEquals(-1, CharU20001.indexOf(CharUSuppCharHigh));
+ assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharHigh));
+ assertEquals(0, CharU20001.indexOf(CharUSuppCharLow));
+ assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharLow));
+ }
+
+ /**
+ * See https://www.oracle.com/technical-resources/articles/javase/supplementary.html
+ */
+ @Test
+ public void testContainsNone_StringWithSupplementaryChars() {
+ assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20000));
+ assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20001));
+ assertFalse(StringUtils.containsNone(CharU20000, CharU20000));
+ // Sanity check:
+ assertEquals(-1, CharU20000.indexOf(CharU20001));
+ assertEquals(0, CharU20000.indexOf(CharU20001.charAt(0)));
+ assertEquals(-1, CharU20000.indexOf(CharU20001.charAt(1)));
+ // Test:
+ assertTrue(StringUtils.containsNone(CharU20000, CharU20001));
+ assertTrue(StringUtils.containsNone(CharU20001, CharU20000));
+ }
+
+ @Test
+ public void testContainsOnly_CharArray() {
+ final String str1 = "a";
+ final String str2 = "b";
+ final String str3 = "ab";
+ final char[] chars1= {'b'};
+ final char[] chars2= {'a'};
+ final char[] chars3= {'a', 'b'};
+ final char[] emptyChars = {};
+ assertFalse(StringUtils.containsOnly(null, (char[]) null));
+ assertFalse(StringUtils.containsOnly("", (char[]) null));
+ assertFalse(StringUtils.containsOnly(null, emptyChars));
+ assertFalse(StringUtils.containsOnly(str1, emptyChars));
+ assertTrue(StringUtils.containsOnly("", emptyChars));
+ assertTrue(StringUtils.containsOnly("", chars1));
+ assertFalse(StringUtils.containsOnly(str1, chars1));
+ assertTrue(StringUtils.containsOnly(str1, chars2));
+ assertTrue(StringUtils.containsOnly(str1, chars3));
+ assertTrue(StringUtils.containsOnly(str2, chars1));
+ assertFalse(StringUtils.containsOnly(str2, chars2));
+ assertTrue(StringUtils.containsOnly(str2, chars3));
+ assertFalse(StringUtils.containsOnly(str3, chars1));
+ assertFalse(StringUtils.containsOnly(str3, chars2));
+ assertTrue(StringUtils.containsOnly(str3, chars3));
+ }
+
+ @Test
+ public void testContainsOnly_String() {
+ final String str1 = "a";
+ final String str2 = "b";
+ final String str3 = "ab";
+ final String chars1= "b";
+ final String chars2= "a";
+ final String chars3= "ab";
+ assertFalse(StringUtils.containsOnly(null, (String) null));
+ assertFalse(StringUtils.containsOnly("", (String) null));
+ assertFalse(StringUtils.containsOnly(null, ""));
+ assertFalse(StringUtils.containsOnly(str1, ""));
+ assertTrue(StringUtils.containsOnly("", ""));
+ assertTrue(StringUtils.containsOnly("", chars1));
+ assertFalse(StringUtils.containsOnly(str1, chars1));
+ assertTrue(StringUtils.containsOnly(str1, chars2));
+ assertTrue(StringUtils.containsOnly(str1, chars3));
+ assertTrue(StringUtils.containsOnly(str2, chars1));
+ assertFalse(StringUtils.containsOnly(str2, chars2));
+ assertTrue(StringUtils.containsOnly(str2, chars3));
+ assertFalse(StringUtils.containsOnly(str3, chars1));
+ assertFalse(StringUtils.containsOnly(str3, chars2));
+ assertTrue(StringUtils.containsOnly(str3, chars3));
+ }
+
+ @Test
+ public void testContainsWhitespace() {
+ assertFalse( StringUtils.containsWhitespace("") );
+ assertTrue( StringUtils.containsWhitespace(" ") );
+ assertFalse( StringUtils.containsWhitespace("a") );
+ assertTrue( StringUtils.containsWhitespace("a ") );
+ assertTrue( StringUtils.containsWhitespace(" a") );
+ assertTrue( StringUtils.containsWhitespace("a\t") );
+ assertTrue( StringUtils.containsWhitespace("\n") );
+ }
+}