source: trunk/unittests/CompatibleFileUtilsUnitTests.pas@ 384

Last change on this file since 384 was 384, checked in by RBRi, 9 years ago

move the unit test to a more central place

  • Property svn:eol-style set to native
File size: 12.8 KB
Line 
1Unit CompatibleFileUtilsUnitTests;
2
3Interface
4
5uses
6 Classes,
7 TestAssert,
8 ACLFileUtility;
9
10
11 FUNCTION getFileUtilsUnitTests : TList;
12
13
14
15
16Implementation
17
18 Procedure testAddSlash_Empty;
19 var
20 tmpResult : String;
21 begin
22 tmpResult := AddSlash('');
23
24 assertEqualsString('testAddSlash_Empty', '\', tmpResult);
25 end;
26
27 Procedure testAddSlash_SingleChar;
28 var
29 tmpResult : String;
30 begin
31 tmpResult := AddSlash('x');
32
33 assertEqualsString('testAddSlash_SingleChar', 'x\', tmpResult);
34 end;
35
36 Procedure testAddSlash_ManyChars;
37 var
38 tmpResult : String;
39 begin
40 tmpResult := AddSlash('xyz dkdj ');
41
42 assertEqualsString('testAddSlash_ManyChars', 'xyz dkdj \', tmpResult);
43 end;
44
45
46 Procedure testAddSlash_SlashAtEnd;
47 var
48 tmpResult : String;
49 begin
50 tmpResult := AddSlash('xy\');
51
52 assertEqualsString('testAddSlash_SlashAtEnd', 'xy\', tmpResult);
53 end;
54
55
56 // ----------------------------------------------------------
57
58{
59 Procedure testAddSlashIfNotEmpty_Empty;
60 var
61 tmpResult : String;
62 begin
63 tmpResult := AddSlashIfNotEmpty('');
64
65 assertEqualsString('testAddSlashIfNotEmpty_Empty', '', tmpResult);
66 end;
67
68 Procedure testAddSlashIfNotEmpty_SingleChar;
69 var
70 tmpResult : String;
71 begin
72 tmpResult := AddSlashIfNotEmpty('x');
73
74 assertEqualsString('testAddSlashIfNotEmpty_SingleChar', 'x\', tmpResult);
75 end;
76
77 Procedure testAddSlashIfNotEmpty_ManyChars;
78 var
79 tmpResult : String;
80 begin
81 tmpResult := AddSlashIfNotEmpty('xyz dkdj ');
82
83 assertEqualsString('testAddSlashIfNotEmpty_ManyChars', 'xyz dkdj \', tmpResult);
84 end;
85
86
87 Procedure testAddSlashIfNotEmpty_SlashAtEnd;
88 var
89 tmpResult : String;
90 begin
91 tmpResult := AddSlashIfNotEmpty('xy\');
92
93 assertEqualsString('testAddSlashIfNotEmpty_SlashAtEnd', 'xy\', tmpResult);
94 end;
95}
96 // ----------------------------------------------------------
97
98 Procedure testGetLogFilesDir;
99 var
100 tmpResult : String;
101 begin
102 tmpResult := GetLogFilesDir;
103
104 assertEqualsString('testGetLogFilesDir', 'C:\var\log\', tmpResult);
105 end;
106
107
108 // ----------------------------------------------------------
109
110 Procedure testSearchPath_Found;
111 var
112 tmpResult : Boolean;
113 tmpResultFilename : String;
114 begin
115 tmpResult := SearchPath('BOOKSHELF', 'CMDREF.INF', tmpResultFilename);
116
117 assertTrue('testSearchPath_Found', tmpResult);
118 assertEqualsString('testSearchPath_Found', 'C:\OS2\BOOK\CMDREF.INF', tmpResultFilename);
119 end;
120
121
122 Procedure testSearchPath_FoundMixedCase;
123 var
124 tmpResult : Boolean;
125 tmpResultFilename : String;
126 begin
127 tmpResult := SearchPath('BOOKSHELF', 'cMdRef.iNf', tmpResultFilename);
128
129 assertTrue('testSearchPath_FoundMixedCase', tmpResult);
130 assertEqualsString('testSearchPath_FoundMixedCase', 'C:\OS2\BOOK\cMdRef.iNf', tmpResultFilename);
131 end;
132
133
134 Procedure testSearchPath_NotFound;
135 var
136 tmpResult : Boolean;
137 tmpResultFilename : String;
138 begin
139 tmpResult := SearchPath('BOOKSHELF', 'RBRi.INF', tmpResultFilename);
140
141 assertFalse('testSearchPath_NotFound', tmpResult);
142 assertEqualsString('testSearchPath_NotFound', '', tmpResultFilename);
143 end;
144
145
146 Procedure testSearchPath_NotExistingEnvironment;
147 var
148 tmpResult : Boolean;
149 tmpResultFilename : String;
150 begin
151 tmpResult := SearchPath('BUECHER', 'RBRi.INF', tmpResultFilename);
152
153 assertFalse('testSearchPath_NotExistingEnvironment', tmpResult);
154 assertEqualsString('testSearchPath_NotExistingEnvironment', '', tmpResultFilename);
155 end;
156
157 // ----------------------------------------------------------
158
159 Procedure testSearchHelpPaths_FoundBookshelf;
160 var
161 tmpResult : Boolean;
162 tmpResultFilename : String;
163 begin
164 tmpResult := SearchHelpPaths('CMDREF.INF', tmpResultFilename, false);
165
166 assertTrue('testSearchHelpPaths_FoundBookshelf', tmpResult);
167 assertEqualsString('testSearchHelpPaths_FoundBookshelf', 'C:\OS2\BOOK\CMDREF.INF', tmpResultFilename);
168 end;
169
170
171 Procedure testSearchHelpPaths_FoundHelp;
172 var
173 tmpResult : Boolean;
174 tmpResultFilename : String;
175 begin
176 tmpResult := SearchHelpPaths('WPHELP.HLP', tmpResultFilename, false);
177
178 assertTrue('testSearchHelpPaths_FoundHelp', tmpResult);
179 assertEqualsString('testSearchHelpPaths_FoundHelp', 'C:\OS2\HELP\WPHELP.HLP', tmpResultFilename);
180 end;
181
182{ . is part of the helppath
183 Procedure testSearchHelpPaths_DontSearchInAppDir;
184 var
185 tmpResult : Boolean;
186 tmpResultFilename : String;
187 begin
188 tmpResult := SearchHelpPaths('NewViewTests.EXE', tmpResultFilename, False);
189
190 assertFalse('testSearchHelpPaths_DontSearchInAppDir', tmpResult);
191 assertEqualsString('testSearchHelpPaths_DontSearchInAppDir', '', tmpResultFilename);
192 end;
193}
194
195 Procedure testSearchHelpPaths_FoundInAppDir;
196 var
197 tmpResult : Boolean;
198 tmpResultFilename : String;
199 begin
200 tmpResult := SearchHelpPaths('NewViewTests.EXE', tmpResultFilename, True);
201
202 assertTrue('testSearchHelpPaths_FoundInAppDir', tmpResult);
203 assertEqualsString('testSearchHelpPaths_FoundInAppDir', 'P:\newview_dev\build\unittest\NewViewTests.EXE', tmpResultFilename);
204 end;
205
206
207 Procedure testSearchHelpPaths_NotFoundInAppDir;
208 var
209 tmpResult : Boolean;
210 tmpResultFilename : String;
211 begin
212 tmpResult := SearchHelpPaths('NewView.EXE', tmpResultFilename, True);
213
214 assertFalse('testSearchHelpPaths_NotFoundInAppDir', tmpResult);
215 assertEqualsString('testSearchHelpPaths_NotFoundInAppDir', '', tmpResultFilename);
216 end;
217
218 // ----------------------------------------------------------
219{
220 Procedure testFindDefaultLanguageHelpFile;
221 var
222 tmpResult : String;
223 begin
224 tmpResult := FindDefaultLanguageHelpFile('NewView', '');
225
226 assertEqualsString('testFindDefaultLanguageHelpFile', 'C:\ecs\help\NewView.hlp', tmpResult);
227 end;
228
229 Procedure testFindDefaultLanguageHelpFile_it;
230 var
231 tmpResult : String;
232 begin
233 tmpResult := FindDefaultLanguageHelpFile('NewView', 'it');
234
235 assertEqualsString('testFindDefaultLanguageHelpFile_it', 'C:\ecs\help\NewView_it.hlp', tmpResult);
236 end;
237
238 Procedure testFindDefaultLanguageHelpFile_it_UpperCase;
239 var
240 tmpResult : String;
241 begin
242 tmpResult := FindDefaultLanguageHelpFile('NewView', 'IT');
243
244 assertEqualsString('testFindDefaultLanguageHelpFile_it_UpperCase', 'C:\ecs\help\NewView_IT.hlp', tmpResult);
245 end;
246
247 }
248 // ----------------------------------------------------------
249
250
251 Procedure testGetDirsInPath_Unknown;
252 var
253 tmpResult : TStringList;
254 begin
255 tmpResult := TStringList.Create;
256 tmpResult.Add('Tester');
257
258 GetDirsInPath('Unknown', tmpResult);
259 assertEqualsInt('testGetDirsInPath_Unknown', 0, tmpResult.count);
260
261 tmpResult.Destroy;
262 end;
263
264
265 Procedure testGetDirsInPath_Help;
266 var
267 tmpResult : TStringList;
268 begin
269 tmpResult := TStringList.Create;
270 tmpResult.Add('Tester');
271
272 GetDirsInPath('HELP', tmpResult);
273
274 assertEqualsInt('testGetDirsInPath_Help', 16, tmpResult.count);
275 assertEqualsString('testGetDirsInPath_Help', 'D:\progs\watcom\BINP\HELP', tmpResult[0]);
276 assertEqualsString('testGetDirsInPath_Help', 'd:\progs\SIBYL\BIN', tmpResult[14]);
277 assertEqualsString('testGetDirsInPath_Help', '', tmpResult[15]);
278
279 tmpResult.Destroy;
280 end;
281
282 // ----------------------------------------------------------
283
284 Procedure testListFilesInDirectory_NoFiles;
285 var
286 tmpResult : TStringList;
287 begin
288 tmpResult := TStringList.Create;
289
290 ListDirectoryAdditive('P:\newview_dev', '*.jonas', 'P:\newview_dev', tmpResult, nil);
291
292 assertEqualsInt('testListFilesInDirectory_NoFiles', 0, tmpResult.count);
293 end;
294
295
296 Procedure testListFilesInDirectory_EmptyFilter;
297 var
298 tmpResult : TStringList;
299 begin
300 tmpResult := TStringList.Create;
301
302 ListDirectoryAdditive('P:\newview_dev', '', 'P:\newview_dev', tmpResult, nil);
303
304 assertEqualsInt('testListFilesInDirectory_EmptyFilter', 0, tmpResult.count);
305
306 tmpResult.Destroy;
307 end;
308
309
310 Procedure testListFilesInDirectory_OneFile;
311 var
312 tmpResult : TStringList;
313 begin
314 tmpResult := TStringList.Create;
315
316 ListDirectoryAdditive('P:\newview_dev', '*.txt', 'P:\newview_dev', tmpResult, nil);
317
318 assertEqualsInt('testListFilesInDirectory_OneFile', 1, tmpResult.count);
319 assertEqualsString('testListFilesInDirectory_OneFile', 'P:\newview_dev\__readme.txt', tmpResult[0]);
320
321 tmpResult.Destroy;
322 end;
323
324
325 Procedure testListFilesInDirectory_ManyFiles;
326 var
327 tmpResult : TStringList;
328 begin
329 tmpResult := TStringList.Create;
330
331 ListDirectoryAdditive('P:\newview_dev', '*.*', 'P:\newview_dev', tmpResult, nil);
332
333 assertEqualsInt('testListFilesInDirectory_ManyFiles', 3, tmpResult.count);
334 assertEqualsString('testListFilesInDirectory_ManyFiles', 'P:\newview_dev\env.cmd', tmpResult[0]);
335 assertEqualsString('testListFilesInDirectory_ManyFiles', 'P:\newview_dev\med.cmd', tmpResult[1]);
336 assertEqualsString('testListFilesInDirectory_ManyFiles', 'P:\newview_dev\__readme.txt', tmpResult[2]);
337
338 tmpResult.Destroy;
339 end;
340
341
342 Procedure testListFilesInDirectory_ManyFilter;
343 var
344 tmpResult : TStringList;
345 begin
346 tmpResult := TStringList.Create;
347
348 ListDirectoryAdditive('P:\newview_dev', '*.txt;*v.cmd', 'P:\newview_dev', tmpResult, nil);
349
350 assertEqualsInt('testListFilesInDirectory_ManyFilter', 2, tmpResult.count);
351 assertEqualsString('testListFilesInDirectory_ManyFilter', 'P:\newview_dev\__readme.txt', tmpResult[0]);
352 assertEqualsString('testListFilesInDirectory_ManyFilter', 'P:\newview_dev\env.cmd', tmpResult[1]);
353
354 tmpResult.Destroy;
355 end;
356
357 // ----------------------------------------------------------
358{
359 Procedure testListSubDirectories_None;
360 var
361 tmpResult : TStringList;
362 begin
363 tmpResult := TStringList.Create;
364
365 ListSubDirectories('P:\newview_dev\dll', tmpResult);
366
367 assertEqualsInt('testListSubDirectories_None', 0, tmpResult.count);
368
369 tmpResult.Destroy;
370 end;
371
372
373 Procedure testListSubDirectories_Many;
374 var
375 tmpResult : TStringList;
376 begin
377 tmpResult := TStringList.Create;
378
379 ListSubDirectories('P:\newview_dev\i18n', tmpResult);
380
381 assertEqualsInt('testListSubDirectories_Many', 14, tmpResult.count);
382 assertEqualsString('testListSubDirectories_Many', 'P:\newview_dev\i18n\.svn', tmpResult[0]);
383 assertEqualsString('testListSubDirectories_Many', 'P:\newview_dev\i18n\cz', tmpResult[1]);
384 assertEqualsString('testListSubDirectories_Many', 'P:\newview_dev\i18n\de', tmpResult[2]);
385 assertEqualsString('testListSubDirectories_Many', 'P:\newview_dev\i18n\eo', tmpResult[3]);
386
387 tmpResult.Destroy;
388 end;
389}
390 // ----------------------------------------------------------
391
392 Procedure testListFilesInDirectoryRecursiveWithTermination;
393 var
394 tmpResult : TStringList;
395 begin
396 tmpResult := TStringList.Create;
397
398// ListFilesInDirectoryRecursiveWithTermination('P:\newview_dev\i18n', '*.ipf;*.lng', tmpResult, nil, false);
399 ListDirectoryRecursiveAdditive2('P:\newview_dev\i18n', '*.ipf;*.lng', 'P:\newview_dev\i18n', tmpResult, nil, nil, false);
400
401 assertEqualsInt('testListFilesInDirectoryRecursiveWithTermination', 16, tmpResult.count);
402 assertEqualsString('testListFilesInDirectoryRecursiveWithTermination', 'P:\newview_dev\i18n\NewView.ipf', tmpResult[0]);
403 assertEqualsString('testListFilesInDirectoryRecursiveWithTermination', 'P:\newview_dev\i18n\sv\newview_sv.lngx', tmpResult[15]);
404
405 tmpResult.Destroy;
406 end;
407
408 // ----------------------------------------------------------
409
410 Function getFileUtilsUnitTests : TList;
411 Begin
412 result := TList.Create;
413
414 result.add(@testAddSlash_Empty);
415 result.add(@testAddSlash_SingleChar);
416 result.add(@testAddSlash_ManyChars);
417 result.add(@testAddSlash_SlashAtEnd);
418
419// result.add(@testAddSlashIfNotEmpty_Empty);
420// result.add(@testAddSlashIfNotEmpty_SingleChar);
421// result.add(@testAddSlashIfNotEmpty_ManyChars);
422// result.add(@testAddSlashIfNotEmpty_SlashAtEnd);
423
424 result.add(@testGetLogFilesDir);
425
426 result.add(@testSearchPath_Found);
427 result.add(@testSearchPath_FoundMixedCase);
428 result.add(@testSearchPath_NotFound);
429 result.add(@testSearchPath_NotExistingEnvironment);
430
431 result.add(@testSearchHelpPaths_FoundBookshelf);
432 result.add(@testSearchHelpPaths_FoundHelp);
433// result.add(@testSearchHelpPaths_DontSearchInAppDir);
434 result.add(@testSearchHelpPaths_FoundInAppDir);
435 result.add(@testSearchHelpPaths_NotFoundInAppDir);
436
437// result.add(@testFindDefaultLanguageHelpFile);
438// result.add(@testFindDefaultLanguageHelpFile_it);
439// result.add(@testFindDefaultLanguageHelpFile_it_UpperCase);
440
441 result.add(@testGetDirsInPath_Unknown);
442 result.add(@testGetDirsInPath_Help);
443
444 result.add(@testListFilesInDirectory_NoFiles);
445 result.add(@testListFilesInDirectory_EmptyFilter);
446 result.add(@testListFilesInDirectory_OneFile);
447 result.add(@testListFilesInDirectory_ManyFiles);
448 result.add(@testListFilesInDirectory_ManyFilter);
449
450// result.add(@testListSubDirectories_None);
451// result.add(@testListSubDirectories_Many);
452
453 result.add(@testListFilesInDirectoryRecursiveWithTermination);
454 end;
455
456End.
Note: See TracBrowser for help on using the repository browser.