diff --git a/platform/util/testSrc/com/intellij/openapi/util/io/FileUtilHeavyTest.java b/platform/util/testSrc/com/intellij/openapi/util/io/FileUtilHeavyTest.java index 21c996c95f96..0f29f56fbdfa 100644 --- a/platform/util/testSrc/com/intellij/openapi/util/io/FileUtilHeavyTest.java +++ b/platform/util/testSrc/com/intellij/openapi/util/io/FileUtilHeavyTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,13 @@ package com.intellij.openapi.util.io; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.Processor; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; -import java.io.*; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; import java.nio.channels.FileLock; import java.util.HashMap; import java.util.Map; @@ -244,15 +245,14 @@ public class FileUtilHeavyTest { FileUtil.delete(linkDir); assertEquals(1, targetDir.list().length); } - - + @Test public void testToCanonicalPathSymLinksAware() throws Exception { assumeTrue(SystemInfo.areSymLinksSupported); - + File rootDir = IoTestUtil.createTestDir(myTempDirectory, "root"); assertTrue(new File(rootDir, "dir1/dir2/dir3/dir4").mkdirs()); - + String root = FileUtil.toSystemIndependentName(FileUtil.resolveShortWindowsName(rootDir.getPath())); // non-recursive link @@ -261,14 +261,14 @@ public class FileUtilHeavyTest { IoTestUtil.createSymLink(new File(rootDir, "dir1").getPath(), new File(rootDir, "dir1/dir1_link").getPath()); // I) links should NOT be resolved when ../ stays inside the linked path - // I.I) non-recursive links + // I.I) non-recursive links assertEquals(root + "/dir1/dir2_link", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/./", true)); assertEquals(root + "/dir1/dir2_link", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/dir3/../", true)); assertEquals(root + "/dir1/dir2_link/dir3", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/dir3/dir4/../", true)); assertEquals(root + "/dir1/dir2_link", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/dir3/dir4/../../", true)); assertEquals(root + "/dir1/dir2_link", FileUtil.toCanonicalPath(root + "/dir1/../dir1/dir2_link/dir3/../", true)); - // I.II) recursive links + // I.II) recursive links assertEquals(root + "/dir1/dir1_link", FileUtil.toCanonicalPath(root + "/dir1/dir1_link/./", true)); assertEquals(root + "/dir1/dir1_link", FileUtil.toCanonicalPath(root + "/dir1/dir1_link/dir2/../", true)); assertEquals(root + "/dir1/dir1_link/dir2", FileUtil.toCanonicalPath(root + "/dir1/dir1_link/dir2/dir3/../", true)); @@ -276,8 +276,8 @@ public class FileUtilHeavyTest { assertEquals(root + "/dir1/dir1_link", FileUtil.toCanonicalPath(root + "/dir1/../dir1/dir1_link/dir2/../", true)); // II) links should be resolved is ../ escapes outside - - // II.I) non-recursive links + + // II.I) non-recursive links assertEquals(root + "/dir1", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/../", true)); assertEquals(root + "/dir1/dir2", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/../dir2", true)); assertEquals(root + "/dir1/dir2", FileUtil.toCanonicalPath(root + "/dir1/dir2_link/../../dir1/dir2", true)); @@ -286,7 +286,7 @@ public class FileUtilHeavyTest { assertEquals(root + "/dir1/dir2", FileUtil.toCanonicalPath(root + "/dir1/../dir1/dir2_link/../dir2", true)); // II.I) recursive links - // the rules seems to be different when ../ goes over recursive link: + // the rules seems to be different when ../ goes over recursive link: // * on Windows ../ goes to link's parent // * on Unix ../ goes to target's parent if (SystemInfo.isWindows) { @@ -304,8 +304,8 @@ public class FileUtilHeavyTest { assertEquals(root + "/dir1", FileUtil.toCanonicalPath(root + "/dir1/dir1_link/dir2/../../../root/dir1", true)); assertEquals(root + "/dir1", FileUtil.toCanonicalPath(root + "/dir1/../dir1/dir1_link/../dir1", true)); } - - // some corner cases, behavior should be the same as the default FileUtil.toCanonicalPath + + // some corner cases, behavior should be the same as the default FileUtil.toCanonicalPath assertEquals(FileUtil.toCanonicalPath("..", false), FileUtil.toCanonicalPath("..", true)); assertEquals(FileUtil.toCanonicalPath("../", false), FileUtil.toCanonicalPath("../", true)); assertEquals(FileUtil.toCanonicalPath("/..", false), FileUtil.toCanonicalPath("/..", true)); @@ -317,4 +317,4 @@ public class FileUtilHeavyTest { String path = myFindTestFirstFile.getPath(); assertEquals(SystemInfo.isFileSystemCaseSensitive, FileUtil.isFileSystemCaseSensitive(path)); } -} +} \ No newline at end of file