test/java/nio/file/Path/Misc.java

Print this page

        

*** 20,35 **** * or visit www.oracle.com if you need additional information or have any * questions. */ /* @test ! * @bug 4313887 6838333 * @summary Unit test for miscellenous java.nio.file.Path methods * @library .. */ import java.nio.file.*; import java.io.*; public class Misc { static final boolean isWindows = System.getProperty("os.name").startsWith("Windows"); --- 20,36 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ /* @test ! * @bug 4313887 6838333 7029979 * @summary Unit test for miscellenous java.nio.file.Path methods * @library .. */ import java.nio.file.*; + import static java.nio.file.LinkOption.*; import java.io.*; public class Misc { static final boolean isWindows = System.getProperty("os.name").startsWith("Windows");
*** 94,162 **** static void testToRealPath(Path dir) throws IOException { final Path file = Files.createFile(dir.resolve("foo")); final Path link = dir.resolve("link"); /** ! * Test: totRealPath(true) will access same file as toRealPath(false) */ ! assertTrue(Files.isSameFile(file.toRealPath(true), file.toRealPath(false))); /** * Test: toRealPath should fail if file does not exist */ Path doesNotExist = dir.resolve("DoesNotExist"); try { ! doesNotExist.toRealPath(true); throw new RuntimeException("IOException expected"); } catch (IOException expected) { } try { ! doesNotExist.toRealPath(false); throw new RuntimeException("IOException expected"); } catch (IOException expected) { } /** ! * Test: toRealPath(true) should resolve links */ if (supportsLinks) { Files.createSymbolicLink(link, file.toAbsolutePath()); ! assertTrue(link.toRealPath(true).equals(file.toRealPath(true))); Files.delete(link); } /** ! * Test: toRealPath(false) should not resolve links */ if (supportsLinks) { Files.createSymbolicLink(link, file.toAbsolutePath()); ! assertTrue(link.toRealPath(false).getFileName().equals(link.getFileName())); Files.delete(link); } /** ! * Test: toRealPath(false) with broken link */ if (supportsLinks) { Path broken = Files.createSymbolicLink(link, doesNotExist); ! assertTrue(link.toRealPath(false).getFileName().equals(link.getFileName())); Files.delete(link); } /** * Test: toRealPath should eliminate "." */ ! assertTrue(dir.resolve(".").toRealPath(true).equals(dir.toRealPath(true))); ! assertTrue(dir.resolve(".").toRealPath(false).equals(dir.toRealPath(false))); /** * Test: toRealPath should eliminate ".." when it doesn't follow a * symbolic link */ Path subdir = Files.createDirectory(dir.resolve("subdir")); ! assertTrue(subdir.resolve("..").toRealPath(true).equals(dir.toRealPath(true))); ! assertTrue(subdir.resolve("..").toRealPath(false).equals(dir.toRealPath(false))); Files.delete(subdir); // clean-up Files.delete(file); } --- 95,163 ---- static void testToRealPath(Path dir) throws IOException { final Path file = Files.createFile(dir.resolve("foo")); final Path link = dir.resolve("link"); /** ! * Test: totRealPath() will access same file as toRealPath(NOFOLLOW_LINKS) */ ! assertTrue(Files.isSameFile(file.toRealPath(), file.toRealPath(NOFOLLOW_LINKS))); /** * Test: toRealPath should fail if file does not exist */ Path doesNotExist = dir.resolve("DoesNotExist"); try { ! doesNotExist.toRealPath(); throw new RuntimeException("IOException expected"); } catch (IOException expected) { } try { ! doesNotExist.toRealPath(NOFOLLOW_LINKS); throw new RuntimeException("IOException expected"); } catch (IOException expected) { } /** ! * Test: toRealPath() should resolve links */ if (supportsLinks) { Files.createSymbolicLink(link, file.toAbsolutePath()); ! assertTrue(link.toRealPath().equals(file.toRealPath())); Files.delete(link); } /** ! * Test: toRealPath(NOFOLLOW_LINKS) should not resolve links */ if (supportsLinks) { Files.createSymbolicLink(link, file.toAbsolutePath()); ! assertTrue(link.toRealPath(NOFOLLOW_LINKS).getFileName().equals(link.getFileName())); Files.delete(link); } /** ! * Test: toRealPath(NOFOLLOW_LINKS) with broken link */ if (supportsLinks) { Path broken = Files.createSymbolicLink(link, doesNotExist); ! assertTrue(link.toRealPath(NOFOLLOW_LINKS).getFileName().equals(link.getFileName())); Files.delete(link); } /** * Test: toRealPath should eliminate "." */ ! assertTrue(dir.resolve(".").toRealPath().equals(dir.toRealPath())); ! assertTrue(dir.resolve(".").toRealPath(NOFOLLOW_LINKS).equals(dir.toRealPath(NOFOLLOW_LINKS))); /** * Test: toRealPath should eliminate ".." when it doesn't follow a * symbolic link */ Path subdir = Files.createDirectory(dir.resolve("subdir")); ! assertTrue(subdir.resolve("..").toRealPath().equals(dir.toRealPath())); ! assertTrue(subdir.resolve("..").toRealPath(NOFOLLOW_LINKS).equals(dir.toRealPath(NOFOLLOW_LINKS))); Files.delete(subdir); // clean-up Files.delete(file); }