1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.compress.utils;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertNull;
22
23 import java.io.File;
24 import java.nio.file.Path;
25 import java.nio.file.Paths;
26
27 import org.apache.commons.lang3.SystemUtils;
28 import org.junit.jupiter.api.Test;
29
30 public class FileNameUtilsTest {
31
32 @Test
33 public void testGetBaseNamePathBaseCases() {
34 assertEquals("bar", FileNameUtils.getBaseName(Paths.get("a/b/c/bar.foo")));
35 assertEquals("foo", FileNameUtils.getBaseName(Paths.get("foo")));
36 assertEquals("", FileNameUtils.getBaseName(Paths.get("")));
37 assertEquals("", FileNameUtils.getBaseName(Paths.get(".")));
38 for (final File f : File.listRoots()) {
39 assertNull(FileNameUtils.getBaseName(f.toPath()));
40 }
41 if (SystemUtils.IS_OS_WINDOWS) {
42 assertNull(FileNameUtils.getBaseName(Paths.get("C:\\")));
43 }
44 }
45
46 @Test
47 public void testGetBaseNamePathCornerCases() {
48 assertNull(FileNameUtils.getBaseName((Path) null));
49 assertEquals("foo", FileNameUtils.getBaseName(Paths.get("foo.")));
50 assertEquals("", FileNameUtils.getBaseName(Paths.get("bar/.foo")));
51 }
52
53 @Test
54 public void testGetBaseNameStringBaseCases() {
55 assertEquals("bar", FileNameUtils.getBaseName("a/b/c/bar.foo"));
56 assertEquals("foo", FileNameUtils.getBaseName("foo"));
57 }
58
59 @Test
60 public void testGetBaseNameStringCornerCases() {
61 assertNull(FileNameUtils.getBaseName((String) null));
62 assertEquals("foo", FileNameUtils.getBaseName("foo."));
63 assertEquals("", FileNameUtils.getBaseName("bar/.foo"));
64 }
65
66 @Test
67 public void testGetExtensionPathBaseCases() {
68 assertEquals("foo", FileNameUtils.getExtension(Paths.get("a/b/c/bar.foo")));
69 assertEquals("", FileNameUtils.getExtension(Paths.get("foo")));
70 assertEquals("", FileNameUtils.getExtension(Paths.get("")));
71 assertEquals("", FileNameUtils.getExtension(Paths.get(".")));
72 for (final File f : File.listRoots()) {
73 assertNull(FileNameUtils.getExtension(f.toPath()));
74 }
75 if (SystemUtils.IS_OS_WINDOWS) {
76 assertNull(FileNameUtils.getExtension(Paths.get("C:\\")));
77 }
78 }
79
80 @Test
81 public void testGetExtensionPathCornerCases() {
82 assertNull(FileNameUtils.getExtension((String) null));
83 assertEquals("", FileNameUtils.getExtension(Paths.get("foo.")));
84 assertEquals("foo", FileNameUtils.getExtension(Paths.get("bar/.foo")));
85 }
86
87 @Test
88 public void testGetExtensionStringBaseCases() {
89 assertEquals("foo", FileNameUtils.getExtension("a/b/c/bar.foo"));
90 assertEquals("", FileNameUtils.getExtension("foo"));
91 }
92
93 @Test
94 public void testGetExtensionStringCornerCases() {
95 assertNull(FileNameUtils.getExtension((String) null));
96 assertEquals("", FileNameUtils.getExtension("foo."));
97 assertEquals("foo", FileNameUtils.getExtension("bar/.foo"));
98 }
99 }