📄 filenameutilstestcase.java
字号:
assertEquals(null, FilenameUtils.normalizeNoEndSeparator("//server/a/b/../../.."));
assertEquals(SEP + SEP + "server" + SEP + "a" + SEP + "d", FilenameUtils.normalizeNoEndSeparator("//server/a/b/../c/../d"));
assertEquals(SEP + SEP + "server" + SEP + "a" + SEP + "b" + SEP + "d", FilenameUtils.normalizeNoEndSeparator("//server/a/b//d"));
assertEquals(SEP + SEP + "server" + SEP + "a" + SEP + "b", FilenameUtils.normalizeNoEndSeparator("//server/a/b/././."));
assertEquals(SEP + SEP + "server" + SEP + "a", FilenameUtils.normalizeNoEndSeparator("//server/./a"));
assertEquals(SEP + SEP + "server" + SEP + "", FilenameUtils.normalizeNoEndSeparator("//server/./"));
assertEquals(SEP + SEP + "server" + SEP + "", FilenameUtils.normalizeNoEndSeparator("//server/."));
assertEquals(null, FilenameUtils.normalizeNoEndSeparator("//server/../a"));
assertEquals(null, FilenameUtils.normalizeNoEndSeparator("//server/.."));
assertEquals(SEP + SEP + "server" + SEP + "", FilenameUtils.normalizeNoEndSeparator("//server/"));
}
//-----------------------------------------------------------------------
public void testConcat() {
assertEquals(null, FilenameUtils.concat("", null));
assertEquals(null, FilenameUtils.concat(null, null));
assertEquals(null, FilenameUtils.concat(null, ""));
assertEquals(null, FilenameUtils.concat(null, "a"));
assertEquals(SEP + "a", FilenameUtils.concat(null, "/a"));
assertEquals(null, FilenameUtils.concat("", ":")); // invalid prefix
assertEquals(null, FilenameUtils.concat(":", "")); // invalid prefix
assertEquals("f" + SEP, FilenameUtils.concat("", "f/"));
assertEquals("f", FilenameUtils.concat("", "f"));
assertEquals("a" + SEP + "f" + SEP, FilenameUtils.concat("a/", "f/"));
assertEquals("a" + SEP + "f", FilenameUtils.concat("a", "f"));
assertEquals("a" + SEP + "b" + SEP + "f" + SEP, FilenameUtils.concat("a/b/", "f/"));
assertEquals("a" + SEP + "b" + SEP + "f", FilenameUtils.concat("a/b", "f"));
assertEquals("a" + SEP + "f" + SEP, FilenameUtils.concat("a/b/", "../f/"));
assertEquals("a" + SEP + "f", FilenameUtils.concat("a/b", "../f"));
assertEquals("a" + SEP + "c" + SEP + "g" + SEP, FilenameUtils.concat("a/b/../c/", "f/../g/"));
assertEquals("a" + SEP + "c" + SEP + "g", FilenameUtils.concat("a/b/../c", "f/../g"));
assertEquals("a" + SEP + "c.txt" + SEP + "f", FilenameUtils.concat("a/c.txt", "f"));
assertEquals(SEP + "f" + SEP, FilenameUtils.concat("", "/f/"));
assertEquals(SEP + "f", FilenameUtils.concat("", "/f"));
assertEquals(SEP + "f" + SEP, FilenameUtils.concat("a/", "/f/"));
assertEquals(SEP + "f", FilenameUtils.concat("a", "/f"));
assertEquals(SEP + "c" + SEP + "d", FilenameUtils.concat("a/b/", "/c/d"));
assertEquals("C:c" + SEP + "d", FilenameUtils.concat("a/b/", "C:c/d"));
assertEquals("C:" + SEP + "c" + SEP + "d", FilenameUtils.concat("a/b/", "C:/c/d"));
assertEquals("~" + SEP + "c" + SEP + "d", FilenameUtils.concat("a/b/", "~/c/d"));
assertEquals("~user" + SEP + "c" + SEP + "d", FilenameUtils.concat("a/b/", "~user/c/d"));
assertEquals("~" + SEP, FilenameUtils.concat("a/b/", "~"));
assertEquals("~user" + SEP, FilenameUtils.concat("a/b/", "~user"));
}
//-----------------------------------------------------------------------
public void testSeparatorsToUnix() {
assertEquals(null, FilenameUtils.separatorsToUnix(null));
assertEquals("/a/b/c", FilenameUtils.separatorsToUnix("/a/b/c"));
assertEquals("/a/b/c.txt", FilenameUtils.separatorsToUnix("/a/b/c.txt"));
assertEquals("/a/b/c", FilenameUtils.separatorsToUnix("/a/b\\c"));
assertEquals("/a/b/c", FilenameUtils.separatorsToUnix("\\a\\b\\c"));
assertEquals("D:/a/b/c", FilenameUtils.separatorsToUnix("D:\\a\\b\\c"));
}
public void testSeparatorsToWindows() {
assertEquals(null, FilenameUtils.separatorsToWindows(null));
assertEquals("\\a\\b\\c", FilenameUtils.separatorsToWindows("\\a\\b\\c"));
assertEquals("\\a\\b\\c.txt", FilenameUtils.separatorsToWindows("\\a\\b\\c.txt"));
assertEquals("\\a\\b\\c", FilenameUtils.separatorsToWindows("\\a\\b/c"));
assertEquals("\\a\\b\\c", FilenameUtils.separatorsToWindows("/a/b/c"));
assertEquals("D:\\a\\b\\c", FilenameUtils.separatorsToWindows("D:/a/b/c"));
}
public void testSeparatorsToSystem() {
if (WINDOWS) {
assertEquals(null, FilenameUtils.separatorsToSystem(null));
assertEquals("\\a\\b\\c", FilenameUtils.separatorsToSystem("\\a\\b\\c"));
assertEquals("\\a\\b\\c.txt", FilenameUtils.separatorsToSystem("\\a\\b\\c.txt"));
assertEquals("\\a\\b\\c", FilenameUtils.separatorsToSystem("\\a\\b/c"));
assertEquals("\\a\\b\\c", FilenameUtils.separatorsToSystem("/a/b/c"));
assertEquals("D:\\a\\b\\c", FilenameUtils.separatorsToSystem("D:/a/b/c"));
} else {
assertEquals(null, FilenameUtils.separatorsToSystem(null));
assertEquals("/a/b/c", FilenameUtils.separatorsToSystem("/a/b/c"));
assertEquals("/a/b/c.txt", FilenameUtils.separatorsToSystem("/a/b/c.txt"));
assertEquals("/a/b/c", FilenameUtils.separatorsToSystem("/a/b\\c"));
assertEquals("/a/b/c", FilenameUtils.separatorsToSystem("\\a\\b\\c"));
assertEquals("D:/a/b/c", FilenameUtils.separatorsToSystem("D:\\a\\b\\c"));
}
}
//-----------------------------------------------------------------------
public void testGetPrefixLength() {
assertEquals(-1, FilenameUtils.getPrefixLength(null));
assertEquals(-1, FilenameUtils.getPrefixLength(":"));
assertEquals(-1, FilenameUtils.getPrefixLength("1:\\a\\b\\c.txt"));
assertEquals(-1, FilenameUtils.getPrefixLength("1:"));
assertEquals(-1, FilenameUtils.getPrefixLength("1:a"));
assertEquals(-1, FilenameUtils.getPrefixLength("\\\\\\a\\b\\c.txt"));
assertEquals(-1, FilenameUtils.getPrefixLength("\\\\a"));
assertEquals(0, FilenameUtils.getPrefixLength(""));
assertEquals(1, FilenameUtils.getPrefixLength("\\"));
assertEquals(2, FilenameUtils.getPrefixLength("C:"));
assertEquals(3, FilenameUtils.getPrefixLength("C:\\"));
assertEquals(9, FilenameUtils.getPrefixLength("//server/"));
assertEquals(2, FilenameUtils.getPrefixLength("~"));
assertEquals(2, FilenameUtils.getPrefixLength("~/"));
assertEquals(6, FilenameUtils.getPrefixLength("~user"));
assertEquals(6, FilenameUtils.getPrefixLength("~user/"));
assertEquals(0, FilenameUtils.getPrefixLength("a\\b\\c.txt"));
assertEquals(1, FilenameUtils.getPrefixLength("\\a\\b\\c.txt"));
assertEquals(2, FilenameUtils.getPrefixLength("C:a\\b\\c.txt"));
assertEquals(3, FilenameUtils.getPrefixLength("C:\\a\\b\\c.txt"));
assertEquals(9, FilenameUtils.getPrefixLength("\\\\server\\a\\b\\c.txt"));
assertEquals(0, FilenameUtils.getPrefixLength("a/b/c.txt"));
assertEquals(1, FilenameUtils.getPrefixLength("/a/b/c.txt"));
assertEquals(3, FilenameUtils.getPrefixLength("C:/a/b/c.txt"));
assertEquals(9, FilenameUtils.getPrefixLength("//server/a/b/c.txt"));
assertEquals(2, FilenameUtils.getPrefixLength("~/a/b/c.txt"));
assertEquals(6, FilenameUtils.getPrefixLength("~user/a/b/c.txt"));
assertEquals(0, FilenameUtils.getPrefixLength("a\\b\\c.txt"));
assertEquals(1, FilenameUtils.getPrefixLength("\\a\\b\\c.txt"));
assertEquals(2, FilenameUtils.getPrefixLength("~\\a\\b\\c.txt"));
assertEquals(6, FilenameUtils.getPrefixLength("~user\\a\\b\\c.txt"));
}
public void testIndexOfLastSeparator() {
assertEquals(-1, FilenameUtils.indexOfLastSeparator(null));
assertEquals(-1, FilenameUtils.indexOfLastSeparator("noseperator.inthispath"));
assertEquals(3, FilenameUtils.indexOfLastSeparator("a/b/c"));
assertEquals(3, FilenameUtils.indexOfLastSeparator("a\\b\\c"));
}
public void testIndexOfExtension() {
assertEquals(-1, FilenameUtils.indexOfExtension(null));
assertEquals(-1, FilenameUtils.indexOfExtension("file"));
assertEquals(4, FilenameUtils.indexOfExtension("file.txt"));
assertEquals(13, FilenameUtils.indexOfExtension("a.txt/b.txt/c.txt"));
assertEquals(-1, FilenameUtils.indexOfExtension("a/b/c"));
assertEquals(-1, FilenameUtils.indexOfExtension("a\\b\\c"));
assertEquals(-1, FilenameUtils.indexOfExtension("a/b.notextension/c"));
assertEquals(-1, FilenameUtils.indexOfExtension("a\\b.notextension\\c"));
}
//-----------------------------------------------------------------------
public void testGetPrefix() {
assertEquals(null, FilenameUtils.getPrefix(null));
assertEquals(null, FilenameUtils.getPrefix(":"));
assertEquals(null, FilenameUtils.getPrefix("1:\\a\\b\\c.txt"));
assertEquals(null, FilenameUtils.getPrefix("1:"));
assertEquals(null, FilenameUtils.getPrefix("1:a"));
assertEquals(null, FilenameUtils.getPrefix("\\\\\\a\\b\\c.txt"));
assertEquals(null, FilenameUtils.getPrefix("\\\\a"));
assertEquals("", FilenameUtils.getPrefix(""));
assertEquals("\\", FilenameUtils.getPrefix("\\"));
assertEquals("C:", FilenameUtils.getPrefix("C:"));
assertEquals("C:\\", FilenameUtils.getPrefix("C:\\"));
assertEquals("//server/", FilenameUtils.getPrefix("//server/"));
assertEquals("~/", FilenameUtils.getPrefix("~"));
assertEquals("~/", FilenameUtils.getPrefix("~/"));
assertEquals("~user/", FilenameUtils.getPrefix("~user"));
assertEquals("~user/", FilenameUtils.getPrefix("~user/"));
assertEquals("", FilenameUtils.getPrefix("a\\b\\c.txt"));
assertEquals("\\", FilenameUtils.getPrefix("\\a\\b\\c.txt"));
assertEquals("C:\\", FilenameUtils.getPrefix("C:\\a\\b\\c.txt"));
assertEquals("\\\\server\\", FilenameUtils.getPrefix("\\\\server\\a\\b\\c.txt"));
assertEquals("", FilenameUtils.getPrefix("a/b/c.txt"));
assertEquals("/", FilenameUtils.getPrefix("/a/b/c.txt"));
assertEquals("C:/", FilenameUtils.getPrefix("C:/a/b/c.txt"));
assertEquals("//server/", FilenameUtils.getPrefix("//server/a/b/c.txt"));
assertEquals("~/", FilenameUtils.getPrefix("~/a/b/c.txt"));
assertEquals("~user/", FilenameUtils.getPrefix("~user/a/b/c.txt"));
assertEquals("", FilenameUtils.getPrefix("a\\b\\c.txt"));
assertEquals("\\", FilenameUtils.getPrefix("\\a\\b\\c.txt"));
assertEquals("~\\", FilenameUtils.getPrefix("~\\a\\b\\c.txt"));
assertEquals("~user\\", FilenameUtils.getPrefix("~user\\a\\b\\c.txt"));
}
public void testGetPath() {
assertEquals(null, FilenameUtils.getPath(null));
assertEquals("", FilenameUtils.getPath("noseperator.inthispath"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -