You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2010/09/29 20:51:31 UTC
svn commit: r1002806 - in /commons/proper/io/trunk/src:
java/org/apache/commons/io/FilenameUtils.java
test/org/apache/commons/io/FilenameUtilsTestCase.java
Author: niallp
Date: Wed Sep 29 18:51:30 2010
New Revision: 1002806
URL: http://svn.apache.org/viewvc?rev=1002806&view=rev
Log:
IO-248 FilenameUtils - getFullPathNoEndSeparator returns empty while path is a one level directory - thanks to hippo spark for the patch
Modified:
commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java
commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java
Modified: commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java?rev=1002806&r1=1002805&r2=1002806&view=diff
==============================================================================
--- commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java (original)
+++ commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java Wed Sep 29 18:51:30 2010
@@ -887,6 +887,9 @@ public class FilenameUtils {
return filename.substring(0, prefix);
}
int end = index + (includeSeparator ? 1 : 0);
+ if (end == 0) {
+ end++;
+ }
return filename.substring(0, end);
}
Modified: commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java?rev=1002806&r1=1002805&r2=1002806&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java (original)
+++ commons/proper/io/trunk/src/test/org/apache/commons/io/FilenameUtilsTestCase.java Wed Sep 29 18:51:30 2010
@@ -704,6 +704,24 @@ public class FilenameUtilsTestCase exten
assertEquals("~user/a/b", FilenameUtils.getFullPathNoEndSeparator("~user/a/b/c.txt"));
}
+ /**
+ * Test for https://issues.apache.org/jira/browse/IO-248
+ */
+ public void testGetFullPathNoEndSeparator_IO_248() {
+
+ // Test single separator
+ assertEquals("/", FilenameUtils.getFullPathNoEndSeparator("/"));
+ assertEquals("\\", FilenameUtils.getFullPathNoEndSeparator("\\"));
+
+ // Test one level directory
+ assertEquals("/", FilenameUtils.getFullPathNoEndSeparator("/abc"));
+ assertEquals("\\", FilenameUtils.getFullPathNoEndSeparator("\\abc"));
+
+ // Test one level directory
+ assertEquals("/abc", FilenameUtils.getFullPathNoEndSeparator("/abc/xyz"));
+ assertEquals("\\abc", FilenameUtils.getFullPathNoEndSeparator("\\abc\\xyz"));
+ }
+
public void testGetName() {
assertEquals(null, FilenameUtils.getName(null));
assertEquals("noseperator.inthispath", FilenameUtils.getName("noseperator.inthispath"));