This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git


The following commit(s) were added to refs/heads/master by this push:
     new 4370bce  Make `FilenameUtils.equals()` not throw an exception (#154)
4370bce is described below

commit 4370bcea82ca775a7a790b8b7c85fd9602551d49
Author: Michael Ernst <mer...@cs.washington.edu>
AuthorDate: Thu Oct 1 08:26:56 2020 -0700

    Make `FilenameUtils.equals()` not throw an exception (#154)
    
    * Improve exception thrown by FilenameUtils.equals()
    
    * Remove unused import
    
    * Don't throw exception
---
 .../java/org/apache/commons/io/FilenameUtils.java   |  9 ++++++---
 .../apache/commons/io/FilenameUtilsTestCase.java    | 21 +++------------------
 2 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/src/main/java/org/apache/commons/io/FilenameUtils.java 
b/src/main/java/org/apache/commons/io/FilenameUtils.java
index c86ff8a..57acba7 100644
--- a/src/main/java/org/apache/commons/io/FilenameUtils.java
+++ b/src/main/java/org/apache/commons/io/FilenameUtils.java
@@ -24,7 +24,6 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Deque;
 import java.util.List;
-import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -1210,9 +1209,13 @@ public class FilenameUtils {
         }
         if (normalized) {
             fileName1 = normalize(fileName1);
+            if (fileName1 == null) {
+                return false;
+            }
             fileName2 = normalize(fileName2);
-            Objects.requireNonNull(fileName1, "Error normalizing one or both 
of the file names");
-            Objects.requireNonNull(fileName2, "Error normalizing one or both 
of the file names");
+            if (fileName2 == null) {
+                return false;
+            }
         }
         if (caseSensitivity == null) {
             caseSensitivity = IOCase.SENSITIVE;
diff --git a/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java 
b/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java
index ec6c8fd..2fe5028 100644
--- a/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java
@@ -997,24 +997,9 @@ public class FilenameUtilsTestCase {
      */
     @Test
     public void testEqualsNormalizedError_IO_128() {
-        try {
-            FilenameUtils.equalsNormalizedOnSystem("//file.txt", "file.txt");
-            fail("Invalid normalized first file");
-        } catch (final NullPointerException e) {
-            // expected result
-        }
-        try {
-            FilenameUtils.equalsNormalizedOnSystem("file.txt", "//file.txt");
-            fail("Invalid normalized second file");
-        } catch (final NullPointerException e) {
-            // expected result
-        }
-        try {
-            FilenameUtils.equalsNormalizedOnSystem("//file.txt", "//file.txt");
-            fail("Invalid normalized both filse");
-        } catch (final NullPointerException e) {
-            // expected result
-        }
+        assertFalse(FilenameUtils.equalsNormalizedOnSystem("//file.txt", 
"file.txt"));
+        assertFalse(FilenameUtils.equalsNormalizedOnSystem("file.txt", 
"//file.txt"));
+        assertFalse(FilenameUtils.equalsNormalizedOnSystem("//file.txt", 
"//file.txt"));
     }
 
     @Test

Reply via email to