package jp.vmi.selenium.selenese.utils; import java.io.File; import org.junit.Test; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @SuppressWarnings("javadoc") public class PathUtilsTest { private static String sep(String s) { return s.replace('/', File.separatorChar); } @Test public void testNormalize() { assertThat(PathUtils.normalizeSeparator("a/b/c"), equalTo(sep("a/b/c"))); assertThat(PathUtils.normalizeSeparator("a\\b\\c"), equalTo(sep("a/b/c"))); assertThat(PathUtils.normalize("a/b/c"), equalTo(sep("a/b/c"))); assertThat(PathUtils.normalize("./a/b/c"), equalTo(sep("a/b/c"))); String userDir = System.getProperty("user.dir"); String parentDir = new File(userDir).getParent(); assertThat(PathUtils.normalize("../a/b/c"), equalTo(sep(parentDir + "/a/b/c"))); assertThat(PathUtils.normalize("a/b/../c"), equalTo(sep("a/c"))); assertThat(PathUtils.concat("a", "b"), equalTo(sep("a/b"))); assertThat(PathUtils.concat("a/", "b"), equalTo(sep("a/b"))); assertThat(PathUtils.concat("./a", "b"), equalTo(sep("a/b"))); assertThat(PathUtils.concat("a", "../b"), equalTo(sep("b"))); assertThat(PathUtils.concat("../a", "b"), equalTo(sep(parentDir + "/a/b"))); assertThat(PathUtils.concat("../a", "../b"), equalTo(sep(parentDir + "/b"))); } @Test public void testRelativize() throws Exception { String from = new File(getClass().getResource("/selenese/command").toURI()).getPath(); String to = new File(getClass().getResource("/htdocs").toURI()).getPath(); String relPath = PathUtils.relativize(from, to); assertThat(relPath, is("../../htdocs/")); } }