1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package net.fckeditor.tool;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertTrue;
26
27 import org.junit.Test;
28
29
30
31
32
33
34
35 public class UtilsFileTest {
36
37 @Test
38 public void isSingleExtension01() {
39 boolean condition = UtilsFile.isSingleExtension("hacked.txt");
40 assertTrue(condition);
41 }
42
43 @Test
44 public void isSingleExtension02() {
45 boolean condition = UtilsFile.isSingleExtension("hacked.php_txt");
46 assertTrue(condition);
47 }
48
49 @Test
50 public void isSingleExtension03() {
51 boolean condition = UtilsFile.isSingleExtension("hacked.php.txt");
52 assertFalse(condition);
53 }
54
55 @Test
56 public void isSingleExtension04() {
57 boolean condition = UtilsFile.isSingleExtension("hacked.txt.");
58 assertFalse(condition);
59 }
60
61 @Test
62 public void isSingleExtension05() {
63 boolean condition = UtilsFile.isSingleExtension("hacked..txt");
64 assertFalse(condition);
65 }
66
67 @Test
68 public void forceSingleExtension01() {
69 String actual = UtilsFile.forceSingleExtension("hacked.txt");
70 assertEquals("hacked.txt", actual);
71 }
72
73 @Test
74 public void forceSingleExtension02() {
75 String actual = UtilsFile.forceSingleExtension("hacked.php_txt");
76 assertEquals("hacked.php_txt", actual);
77 }
78
79 @Test
80 public void forceSingleExtension03() {
81 String actual = UtilsFile.forceSingleExtension("hacked.php.txt");
82 assertEquals("hacked_php.txt", actual);
83 }
84
85 @Test
86 public void forceSingleExtension04() {
87 String actual = UtilsFile.forceSingleExtension("hacked..txt");
88 assertEquals("hacked_.txt", actual);
89 }
90
91 @Test
92 public void isValidPath01() {
93 String path = "";
94 boolean condition = UtilsFile.isValidPath(path);
95 assertFalse(condition);
96 }
97
98 @Test
99 public void isValidPath02() {
100 String path = "/";
101 boolean condition = UtilsFile.isValidPath(path);
102 assertTrue(condition);
103 }
104
105 @Test
106 public void isValidPath03() {
107 String path = "/./";
108 boolean condition = UtilsFile.isValidPath(path);
109 assertFalse(condition);
110 }
111
112 @Test
113 public void isValidPath04() {
114 String path = "/newf/..";
115 boolean condition = UtilsFile.isValidPath(path);
116 assertFalse(condition);
117 }
118
119 @Test
120 public void isValidPath05() {
121 String path = "/../";
122 boolean condition = UtilsFile.isValidPath(path);
123 assertFalse(condition);
124 }
125
126 @Test
127 public void isValidPath06() {
128 String path = "/stuff/../..";
129 boolean condition = UtilsFile.isValidPath(path);
130 assertFalse(condition);
131 }
132
133 @Test
134 public void isValidPath07() {
135 String path = "/my/stuff/../";
136 boolean condition = UtilsFile.isValidPath(path);
137 assertFalse(condition);
138 }
139
140 @Test
141 public void isValidPath08() {
142 String path = "/my/stuff/";
143 boolean condition = UtilsFile.isValidPath(path);
144 assertTrue(condition);
145 }
146
147 @Test
148 public void isValidPath09() {
149 String path = "/my/stuff";
150 boolean condition = UtilsFile.isValidPath(path);
151 assertFalse(condition);
152 }
153
154 @Test
155 public void isValidPath10() {
156 String path = "my/stuff/";
157 boolean condition = UtilsFile.isValidPath(path);
158 assertFalse(condition);
159 }
160
161 @Test
162 public void isValidPath11() {
163 String path = "/some/pa\\th/";
164 boolean condition = UtilsFile.isValidPath(path);
165 assertFalse(condition);
166 }
167
168 @Test
169 public void isValidPath12() {
170 String path = "/\\/";
171 boolean condition = UtilsFile.isValidPath(path);
172 assertFalse(condition);
173 }
174
175 @Test
176 public void sanitizeFolder01() {
177 assertEquals("a_b_c_d_e_f_g_h_i_", UtilsFile.sanitizeFolderName("a.b|c<d>e:f?g*h<i>"));
178 }
179
180 @Test
181 public void sanitizeFolder02() {
182 assertEquals("a_b_c_d_e_f_g_h_i_", UtilsFile.sanitizeFolderName("a.b|c\u007Fd>e:f\u0005g*h<i>"));
183 }
184
185 @Test
186 public void sanitizeFile01() {
187 assertEquals("b_c_d_e_f_g_h_i_", UtilsFile.sanitizeFileName("b|c<d>e:f?g*h<i>"));
188 }
189
190 @Test
191 public void sanitizeFile02() {
192 assertEquals("name_ext1.ext2", UtilsFile.sanitizeFileName("name.ext1.ext2"));
193 }
194
195 @Test
196 public void sanitizeFile03() {
197 assertEquals("b_c_d_e_f_g_h_i_", UtilsFile.sanitizeFileName("b|c\u007Fd>e:f\u0005g*h<i>"));
198 }
199 }