Author: fanningpj
Date: Sat Jun 14 21:18:13 2025
New Revision: 1926424

URL: http://svn.apache.org/viewvc?rev=1926424&view=rev
Log:
[bug-69715] add tests removing an old invalid one

Modified:
    
poi/trunk/poi/src/test/java/org/apache/poi/util/DefaultTempFileCreationStrategyTest.java

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/util/DefaultTempFileCreationStrategyTest.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/util/DefaultTempFileCreationStrategyTest.java?rev=1926424&r1=1926423&r2=1926424&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/util/DefaultTempFileCreationStrategyTest.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/util/DefaultTempFileCreationStrategyTest.java
 Sat Jun 14 21:18:13 2025
@@ -20,11 +20,13 @@ package org.apache.poi.util;
 import static 
org.apache.poi.util.DefaultTempFileCreationStrategy.DELETE_FILES_ON_EXIT;
 import static org.apache.poi.util.DefaultTempFileCreationStrategy.POIFILES;
 import static org.apache.poi.util.TempFile.JAVA_IO_TMPDIR;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 
 import org.apache.commons.io.FileUtils;
 import org.junit.jupiter.api.AfterEach;
@@ -59,6 +61,42 @@ class DefaultTempFileCreationStrategyTes
         checkGetFile(strategy);
     }
 
+    @Test
+    void testProvidedDir() throws IOException {
+        DefaultTempFileCreationStrategy parentStrategy = new 
DefaultTempFileCreationStrategy();
+        File dir = parentStrategy.createTempDirectory("testProvidedDir");
+        assertNotNull(dir, "Failed to create temp directory");
+        try {
+            assertTrue(Files.isDirectory(dir.toPath()), "File is not a 
directory: " + dir);
+            DefaultTempFileCreationStrategy testStrategy = new 
DefaultTempFileCreationStrategy(dir);
+            checkGetFile(testStrategy);
+        } finally {
+            // Clean up the directory after the test
+            FileUtils.deleteDirectory(dir);
+        }
+    }
+
+    @Test
+    void testProvidedDirNotExists() throws IOException {
+        DefaultTempFileCreationStrategy parentStrategy = new 
DefaultTempFileCreationStrategy();
+        File dir = parentStrategy.createTempDirectory("testProvidedDir");
+        assertNotNull(dir, "Failed to create temp directory");
+        assertTrue(dir.delete(), "directory not deleted: " + dir);
+        assertThrows(IllegalArgumentException.class, () -> new 
DefaultTempFileCreationStrategy(dir));
+    }
+
+    @Test
+    void testProvidedDirIsActuallyAPlainFile() throws IOException {
+        DefaultTempFileCreationStrategy parentStrategy = new 
DefaultTempFileCreationStrategy();
+        File dir = parentStrategy.createTempFile("test123", ".tmp");
+        assertNotNull(dir, "Failed to create temp file");
+        try {
+            assertThrows(IllegalArgumentException.class, () -> new 
DefaultTempFileCreationStrategy(dir));
+        } finally {
+            dir.delete();
+        }
+    }
+
     private static void checkGetFile(DefaultTempFileCreationStrategy strategy) 
throws IOException {
         File file = strategy.createTempFile("POITest", ".tmp");
         try {
@@ -106,19 +144,6 @@ class DefaultTempFileCreationStrategyTes
     }
 
     @Test
-    void testCustomDir() throws IOException {
-        File dirTest = File.createTempFile("POITest", ".dir");
-        try {
-            assertTrue(dirTest.delete());
-
-            DefaultTempFileCreationStrategy strategy = new 
DefaultTempFileCreationStrategy(dirTest);
-            checkGetFile(strategy);
-        } finally {
-            FileUtils.deleteDirectory(dirTest);
-        }
-    }
-
-    @Test
     void testCustomDirExists() throws IOException {
         File dirTest = File.createTempFile("POITest", ".dir");
         try {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to