summaryrefslogtreecommitdiff
path: root/src/test/java/bjc/everge
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/bjc/everge')
-rw-r--r--src/test/java/bjc/everge/StringUtilsTest.java33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/test/java/bjc/everge/StringUtilsTest.java b/src/test/java/bjc/everge/StringUtilsTest.java
index 9eac017..b20e074 100644
--- a/src/test/java/bjc/everge/StringUtilsTest.java
+++ b/src/test/java/bjc/everge/StringUtilsTest.java
@@ -25,7 +25,20 @@ public class StringUtilsTest {
@Test
public void testEscapeSplit() {
- assertSplitsTo("a / b/c", "/", " ", "a", "/ ", "b/c");
+ assertSplitsTo("a|/||b/c", "|", "/", "a/|b", "c");
+
+ assertSplitsTo("a||/b", "|", "/", "a|", "b");
+ }
+
+ @Test
+ public void testLongSplit() {
+ assertSplitsTo("a||b||c", " ", "||", "a", "b", "c");
+
+ assertSplitsTo("a&&||b||c", "&&", "||", "a||b", "c");
+
+ assertSplitsTo("a&&&&||b||c", "&&", "||", "a&&", "b", "c");
+
+ assertSplitsTo("a&&&&&&||b||c", "&&", "||", "a&&||b", "c");
}
@Test
@@ -36,9 +49,25 @@ public class StringUtilsTest {
}
private void assertSplitsTo(String inp, String esc, String splat, String... right) {
+ assertSplitsTo(false, inp, esc, splat, right);
+ }
+
+ private void assertSplitsTo(boolean doLog, String inp, String esc, String splat, String... right) {
try {
+ if (doLog) StringUtils.isDebug = true;
+
String[] lst = StringUtils.escapeSplit(esc, splat, inp);
+ if (doLog) {
+ System.err.printf("[TRACE] Returned ");
+
+ for (String str : lst) {
+ System.err.printf("(%s) ", str);
+ }
+
+ System.err.println();
+ }
+
assertArrayEquals(right, lst);
} catch (Exception ex) {
System.err.println("EXCEPTION");
@@ -46,6 +75,8 @@ public class StringUtilsTest {
System.err.println();
assertTrue(false);
+ } finally {
+ if (doLog) StringUtils.isDebug = false;
}
}
}