public void testMadbotsBug() { assertEquals("../this", simplifyPath("../this")); assertEquals("../this/is/ok", simplifyPath("../this/is/ok")); assertEquals("../ok", simplifyPath("../this/../ok")); }
public void test716() { assertEquals("b", simplifyPath("./b")); assertEquals("b", simplifyPath("./b/.")); assertEquals("b", simplifyPath("././b/./.")); assertEquals("b", simplifyPath("././b")); assertEquals("a/b", simplifyPath("./a/b")); }
public void testSimplifyDotDots() { assertEquals("../..", simplifyPath("a/../../..")); assertEquals("../../..", simplifyPath("a/../../../..")); }
/** http://gbiv.com/protocols/uri/rfc/rfc2396.html#rfc.section.C.2 */ public void testRfc2396Abnormal() { assertEquals("/a/b/c/g.", simplifyPath("/a/b/c/g.")); assertEquals("/a/b/c/.g", simplifyPath("/a/b/c/.g")); assertEquals("/a/b/c/g..", simplifyPath("/a/b/c/g..")); assertEquals("/a/b/c/..g", simplifyPath("/a/b/c/..g")); assertEquals("/a/b/g", simplifyPath("/a/b/c/./../g")); assertEquals("/a/b/c/g", simplifyPath("/a/b/c/./g/.")); assertEquals("/a/b/c/g/h", simplifyPath("/a/b/c/g/./h")); assertEquals("/a/b/c/h", simplifyPath("/a/b/c/g/../h")); assertEquals("/a/b/c/g;x=1/y", simplifyPath("/a/b/c/g;x=1/./y")); assertEquals("/a/b/c/y", simplifyPath("/a/b/c/g;x=1/../y")); }
public void testHiddenFiles() { assertEquals(".b", simplifyPath(".b")); assertEquals(".b", simplifyPath("./.b")); assertEquals(".metadata/b", simplifyPath(".metadata/b")); assertEquals(".metadata/b", simplifyPath("./.metadata/b")); }
public void testMultipleDotFilenames() { assertEquals("..a", simplifyPath("..a")); assertEquals("/..a", simplifyPath("/..a")); assertEquals("/..a/..b", simplifyPath("/..a/..b")); assertEquals("/.....a/..b", simplifyPath("/.....a/..b")); assertEquals("..../....", simplifyPath("..../....")); assertEquals("..a../..b..", simplifyPath("..a../..b..")); }
public void test705() { assertEquals("../b", simplifyPath("x/../../b")); assertEquals("b", simplifyPath("x/../b")); }
public void testInitialSlashDot() { assertEquals("/a", simplifyPath("/./a")); assertEquals("/.a", simplifyPath("/.a/a/..")); }
public void testSimplifyDotDotSlash() { assertEquals("..", simplifyPath("../")); assertEquals("..", simplifyPath("a/../..")); assertEquals("..", simplifyPath("a/../../")); }
public void testSimplify5() { assertEquals("/a/b", simplifyPath("/a//b")); }
public void testSlashDot() { assertEquals("/", simplifyPath("/.")); }
public void testSimplifyRootedDotDots() { assertEquals("/", simplifyPath("/../../..")); assertEquals("/", simplifyPath("/../../../")); }
public void testConsecutiveParentsAfterPresent() { assertEquals("../..", simplifyPath("./../../")); assertEquals("../..", simplifyPath("./.././../")); }
public void testSimplify7() { assertEquals("/", simplifyPath("/..")); }
public void testSimplify8() { assertEquals("/", simplifyPath("/././././")); }
public void testSimplifyDotDot() { assertEquals("..", simplifyPath("..")); }
public void testInitialSlashDotDot() { assertEquals("/c", simplifyPath("/../c")); }
public void testSimplify6() { assertEquals("/a/b", simplifyPath("//a//b/")); }
public void testSimplify12() { assertEquals("/x", simplifyPath("//a//../x//")); }
private void doExtensiveTest(String resourceName) throws IOException { Splitter splitter = Splitter.on(CharMatcher.whitespace()); URL url = getClass().getResource(resourceName); for (String line : Resources.readLines(url, UTF_8)) { Iterator<String> iterator = splitter.split(line).iterator(); String input = iterator.next(); String expectedOutput = iterator.next(); assertFalse(iterator.hasNext()); assertEquals(expectedOutput, simplifyPath(input)); } } }