aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorGary Gregory <garydgregory@users.noreply.github.com>2022-09-06 09:09:50 -0700
committerGitHub <noreply@github.com>2022-09-06 09:09:50 -0700
commitc8e7b467794a0173409752933085ae20e15bf1ef (patch)
tree24d914524976cb962d66cddec535bbd29f4f221c /src/test
parent03e67ac74579aa6ea6536b76cddc06340c75b70a (diff)
downloadapache-commons-io-c8e7b467794a0173409752933085ae20e15bf1ef.tar.gz
[IO-575] copyDirectory (all overloads) does not maintain file (#379)
permissions Add a test Co-authored-by: Gary Gregory <ggregory@rocketsoftware.com>
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/apache/commons/io/FileUtilsTest.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/io/FileUtilsTest.java b/src/test/java/org/apache/commons/io/FileUtilsTest.java
index 032a192a..6aa926e6 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsTest.java
@@ -1616,6 +1616,28 @@ public class FileUtilsTest extends AbstractTempDirTest {
}
@Test
+ public void testIO575() throws IOException {
+ final Path sourceDir = Files.createTempDirectory("source-dir");
+ final String filename = "some-file";
+ final Path sourceFile = Files.createFile(sourceDir.resolve(filename));
+
+ assertEquals(SystemUtils.IS_OS_WINDOWS, sourceFile.toFile().canExecute());
+
+ sourceFile.toFile().setExecutable(true);
+
+ assertTrue(sourceFile.toFile().canExecute());
+
+ final Path destDir = Files.createTempDirectory("some-empty-destination");
+
+ FileUtils.copyDirectory(sourceDir.toFile(), destDir.toFile());
+
+ final Path destFile = destDir.resolve(filename);
+
+ assertTrue(destFile.toFile().exists());
+ assertTrue(destFile.toFile().canExecute());
+ }
+
+ @Test
public void testIsDirectory() throws IOException {
assertFalse(FileUtils.isDirectory(null));