diff options
author | Gary Gregory <garydgregory@users.noreply.github.com> | 2022-09-06 09:09:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-06 09:09:50 -0700 |
commit | c8e7b467794a0173409752933085ae20e15bf1ef (patch) | |
tree | 24d914524976cb962d66cddec535bbd29f4f221c /src/test | |
parent | 03e67ac74579aa6ea6536b76cddc06340c75b70a (diff) | |
download | apache-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.java | 22 |
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)); |