?? testcmsstringutil.java
字號:
assertEquals(1, listResult.size());
assertEquals("", listResult.get(0));
// test a 1 separator-only String
toSplit = "/";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimChar);
assertEquals(0, arrayResult.length);
listResult = CmsStringUtil.splitAsList(toSplit, delimChar);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 2 separator-only String
toSplit = "//";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimChar);
assertEquals(1, arrayResult.length);
assertEquals("", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimChar);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a single token String with starting delimiter
toSplit = "/token";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimChar);
assertEquals(1, arrayResult.length);
assertEquals("token", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimChar);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a single token String with ending delimiter
toSplit = "token/";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimChar);
assertEquals(1, arrayResult.length);
assertEquals("token", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimChar);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 3 separator-only String
toSplit = "///";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimChar);
assertEquals(2, arrayResult.length);
assertEquals("", arrayResult[0]);
assertEquals("", arrayResult[1]);
listResult = CmsStringUtil.splitAsList(toSplit, delimChar);
assertEquals(Arrays.asList(arrayResult), listResult);
toSplit = "/a // b/ c /";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimChar);
assertEquals(4, arrayResult.length);
assertEquals("a ", arrayResult[0]);
assertEquals("", arrayResult[1]);
assertEquals(" b", arrayResult[2]);
assertEquals(" c ", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimChar);
assertEquals(Arrays.asList(arrayResult), listResult);
// with truncation
listResult = CmsStringUtil.splitAsList(toSplit, delimChar, true);
assertEquals(4, listResult.size());
assertEquals("a", listResult.get(0));
assertEquals("", listResult.get(1));
assertEquals("b", listResult.get(2));
assertEquals("c", listResult.get(3));
}
/**
* Tests <code>{@link CmsStringUtil#splitAsArray(String, String)}</code>.<p>
*/
public void testSplitStringDelimiter() {
String toSplit;
String delimString = "/";
String[] arrayResult;
List listResult;
toSplit = "/system/workplace/admin/searchindex/";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("system", arrayResult[0]);
assertEquals("workplace", arrayResult[1]);
assertEquals("admin", arrayResult[2]);
assertEquals("searchindex", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test an empty String:
toSplit = "";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(0, arrayResult.length);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// whitespace only String
toSplit = " ";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals(toSplit, arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// with truncation
listResult = CmsStringUtil.splitAsList(toSplit, delimString, true);
assertEquals(1, listResult.size());
assertEquals("", listResult.get(0));
// test a 1 separator-only String
toSplit = "/";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(0, arrayResult.length);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 2 separator-only String
toSplit = "//";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals("", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a single token String with starting delimiter
toSplit = "/token";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals("token", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a single token String with ending delimiter
toSplit = "token/";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals("token", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 3 separator-only String
toSplit = "///";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(2, arrayResult.length);
assertEquals("", arrayResult[0]);
assertEquals("", arrayResult[1]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
toSplit = "/a // b/ c /";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("a ", arrayResult[0]);
assertEquals("", arrayResult[1]);
assertEquals(" b", arrayResult[2]);
assertEquals(" c ", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// with truncation
listResult = CmsStringUtil.splitAsList(toSplit, delimString, true);
assertEquals(4, listResult.size());
assertEquals("a", listResult.get(0));
assertEquals("", listResult.get(1));
assertEquals("b", listResult.get(2));
assertEquals("c", listResult.get(3));
// some tests with a separator longer than 1
delimString = ",,";
toSplit = ",,system,,workplace,,admin,,searchindex,,";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("system", arrayResult[0]);
assertEquals("workplace", arrayResult[1]);
assertEquals("admin", arrayResult[2]);
assertEquals("searchindex", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test an empty String:
toSplit = "";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(0, arrayResult.length);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a whitespace String with truncation:
toSplit = " ";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals(toSplit, arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 1 separator-only String
toSplit = ",,";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(0, arrayResult.length);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 2 separator-only String
toSplit = ",,,,";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals("", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a single token String with starting delimiter
toSplit = ",,token";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals("token", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a single token String with ending delimiter
toSplit = "token,,";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(1, arrayResult.length);
assertEquals("token", arrayResult[0]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
// test a 3 separator-only String
toSplit = ",,,,,,";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(2, arrayResult.length);
assertEquals("", arrayResult[0]);
assertEquals("", arrayResult[1]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
toSplit = ",,a, aber nicht b,,,,b, aber nicht c,,c, but not a,,";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("a, aber nicht b", arrayResult[0]);
assertEquals("", arrayResult[1]);
assertEquals("b, aber nicht c", arrayResult[2]);
assertEquals("c, but not a", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
delimString = "/delim/";
toSplit = "/delim fake at start/delim//not a delim//delim//delim//delim fake at end";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("/delim fake at start", arrayResult[0]);
assertEquals("/not a delim/", arrayResult[1]);
assertEquals("", arrayResult[2]);
assertEquals("/delim fake at end", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
toSplit = "/delim fake at start/delim//not a delim//delim//delim//delim";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("/delim fake at start", arrayResult[0]);
assertEquals("/not a delim/", arrayResult[1]);
assertEquals("", arrayResult[2]);
assertEquals("/delim", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
toSplit = "/delim//delim fake at start/delim//not a delim//delim//delim//delim fake at end/delim/";
arrayResult = CmsStringUtil.splitAsArray(toSplit, delimString);
assertEquals(4, arrayResult.length);
assertEquals("/delim fake at start", arrayResult[0]);
assertEquals("/not a delim/", arrayResult[1]);
assertEquals("", arrayResult[2]);
assertEquals("/delim fake at end", arrayResult[3]);
listResult = CmsStringUtil.splitAsList(toSplit, delimString);
assertEquals(Arrays.asList(arrayResult), listResult);
}
/**
* Tests the basic String substitution.<p>
*/
public void testSubstitute() {
String test, result;
String content = "<a href=\"/opencms/opencms/test.jpg\">";
String search = "/opencms/opencms/";
String replace = "\\${path}";
test = CmsStringUtil.substitute(content, search, replace);
System.out.println(test);
assertEquals(test, "<a href=\"\\${path}test.jpg\">");
test = CmsStringUtil.substitute(test, replace, search);
assertEquals(test, "<a href=\"/opencms/opencms/test.jpg\">");
content = "[0-9]$1/[^a]|/([}>\"'\\[]\\s*)/pics/";
result = "[0-9]$1/[^a]|/([}>\"'\\[]\\s*)/pucs/";
test = CmsStringUtil.substitute(content, "i", "u");
assertEquals(test, result);
content = "/delim//delim fake at start/delim//not a delim//delim//delim//delim fake at end/delim/";
result = "REPLACED!/delim fake at startREPLACED!/not a delim/REPLACED!REPLACED!/delim fake at endREPLACED!";
test = CmsStringUtil.substitute(content, "/delim/", "REPLACED!");
assertEquals(test, result);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -