aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorFedor Urvanov <fedor@urvanov.ru>2022-09-12 18:09:43 +0300
committerGitHub <noreply@github.com>2022-09-12 08:09:43 -0700
commit9fef1d44e9525c728e5757163203949fa0db1015 (patch)
tree05b1128fdfa8f83be2c20cf7e7541939dbd23373 /src/test
parent1022f3b36189db65a5abe4e3e5c52d2e3757aac1 (diff)
downloadapache-commons-io-9fef1d44e9525c728e5757163203949fa0db1015.tar.gz
[IO-611] FilenameUtils.normalize javadoc and tests. (#383)
* [IO-611] FilenameUtils.normalize javadoc and tests. Looks like someone fixed the code, but javadoc describes the method wrong. * [IO-611] Codestyle
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/apache/commons/io/FilenameUtilsTest.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/io/FilenameUtilsTest.java b/src/test/java/org/apache/commons/io/FilenameUtilsTest.java
index 2912575f..1bd94c74 100644
--- a/src/test/java/org/apache/commons/io/FilenameUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FilenameUtilsTest.java
@@ -932,6 +932,31 @@ public class FilenameUtilsTest {
assertNull(FilenameUtils.normalize("\\\\..\\foo"));
}
+ @Test
+ public void testNormalizeFromJavaDoc() {
+ // Examples from javadoc
+ assertEquals(SEP + "foo" + SEP, FilenameUtils.normalize("/foo//"));
+ assertEquals(SEP + "foo" + SEP, FilenameUtils.normalize(SEP + "foo" + SEP + "." + SEP));
+ assertEquals(SEP + "bar", FilenameUtils.normalize(SEP + "foo" + SEP + ".." + SEP + "bar"));
+ assertEquals(SEP + "bar" + SEP, FilenameUtils.normalize(SEP + "foo" + SEP + ".." + SEP + "bar" + SEP));
+ assertEquals(SEP + "baz", FilenameUtils.normalize(SEP + "foo" + SEP + ".." + SEP + "bar" + SEP + ".." + SEP + "baz"));
+ assertEquals(SEP + SEP + "foo" + SEP + "bar", FilenameUtils.normalize("//foo//./bar"));
+ assertNull(FilenameUtils.normalize(SEP + ".." + SEP));
+ assertNull(FilenameUtils.normalize(".." + SEP + "foo"));
+ assertEquals("foo" + SEP, FilenameUtils.normalize("foo" + SEP + "bar" + SEP + ".."));
+ assertNull(FilenameUtils.normalize("foo" + SEP + ".." + SEP + ".." + SEP + "bar"));
+ assertEquals("bar", FilenameUtils.normalize("foo" + SEP + ".." + SEP + "bar"));
+ assertEquals(SEP + SEP + "server" + SEP + "bar", FilenameUtils.normalize(SEP + SEP + "server" + SEP + "foo" + SEP + ".." + SEP + "bar"));
+ assertNull(FilenameUtils.normalize(SEP + SEP + "server" + SEP + ".." + SEP + "bar"));
+ assertEquals("C:" + SEP + "bar", FilenameUtils.normalize("C:" + SEP + "foo" + SEP + ".." + SEP + "bar"));
+ assertNull(FilenameUtils.normalize("C:" + SEP + ".." + SEP + "bar"));
+ assertEquals("~" + SEP + "bar" + SEP, FilenameUtils.normalize("~" + SEP + "foo" + SEP + ".." + SEP + "bar" + SEP));
+ assertNull(FilenameUtils.normalize("~" + SEP + ".." + SEP + "bar"));
+
+ assertEquals(SEP + SEP + "foo" + SEP + "bar", FilenameUtils.normalize("//foo//./bar"));
+ assertEquals(SEP + SEP + "foo" + SEP + "bar", FilenameUtils.normalize("\\\\foo\\\\.\\bar"));
+ }
+
/**
*/
@Test