testfsys.pas 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. { test application for FileSys
  2. make sure a file called testfile.txt (here in FName) exists;
  3. it will be deleted ! }
  4. program TestFS;
  5. {$I platform.inc}
  6. uses
  7. Common,
  8. Filesys;
  9. const
  10. Passes = 12;
  11. FName : string[30] = 'testfile.txt';
  12. DName : string[30] = 'test';
  13. TestNames : array[0..Passes-1] of string[30] =
  14. ('CreateDir',
  15. 'RenameDir',
  16. 'ExpandName',
  17. 'GetCurrentDir',
  18. 'DeleteDir',
  19. 'Check name',
  20. 'Set time',
  21. 'DateToString/TimeToString',
  22. 'Set attribute',
  23. 'FileAttrToString',
  24. 'FileIntToString',
  25. 'SplitName'
  26. );
  27. var
  28. i : byte;
  29. n, p, rn, e : TFileName;
  30. dt : TDateTime;
  31. attr : TFileAttr;
  32. fi : TFileInt;
  33. begin
  34. WriteLn ('TestFS - tests capabilities of unit FileSys');
  35. WriteLn ('---');
  36. i := 0;
  37. repeat
  38. { show topic }
  39. case i of
  40. 0 : WriteLn ('<DIRECTORY>');
  41. 5 : WriteLn ('<FILE>');
  42. end;
  43. { show name of action }
  44. Write (TestNames[i], ' ');
  45. { perform action }
  46. case i of
  47. 0 :
  48. begin
  49. Write ('"', DName, '"');
  50. FileSys.CreateDir (DName);
  51. end;
  52. 1 :
  53. begin
  54. Write (DName, '=> test2');
  55. RenameDir (DName, 'test2');
  56. GetErrorCode;
  57. RenameDir ('test2', DName);
  58. end;
  59. 2 :
  60. begin
  61. Write ('"', ExpandName (DName),'"');
  62. end;
  63. 3 :
  64. begin
  65. Write ('"', GetCurrentDir, '"');
  66. end;
  67. 4 :
  68. begin
  69. Write ('"', DName, '"');
  70. FileSys.DeleteDir (DName);
  71. end;
  72. { FILE }
  73. 5 :
  74. begin
  75. Write ('"', FName, '" : ');
  76. if (FileSys.CheckName (FName) = cnUnknown)
  77. then Write ('unknown')
  78. else Write ('known');
  79. end;
  80. 6 :
  81. begin
  82. Write (' 22 Jul 1997 12:34:56');
  83. with dt do begin
  84. Day := 22;
  85. Month := 7;
  86. Year := 1997;
  87. Hour := 12;
  88. Minute := 34;
  89. Second := 56;
  90. CheckDateTime (dt);
  91. end;
  92. SetFTime (FName, dt);
  93. end;
  94. 7 :
  95. begin
  96. Write (DateToString (dt), ' ', TimeToString (dt));
  97. end;
  98. 8 :
  99. begin
  100. attr := 128;
  101. SetFAttr (FName, attr);
  102. end;
  103. 9 :
  104. begin
  105. Write (FileAttrToString (attr));
  106. end;
  107. 10 :
  108. begin
  109. fi := 12345678;
  110. Write (FileIntToString (fi));
  111. end;
  112. 11 :
  113. begin
  114. {$ifdef OS_DOS}
  115. n := 'c:\sub1\sub3.ext.ext\name.gz';
  116. {$ELSE}
  117. n := '/sub1/sub3.ext.ext/name.gz';
  118. {$endif}
  119. SplitName (n, p, rn, e);
  120. Write ('"', n, '" => ',
  121. 'PATH = "', p, '", RAW NAME = "', rn,
  122. '", EXTENSION = "', e, '"');
  123. end;
  124. end;
  125. if (Common.GetErrorCode = errOK)
  126. then WriteLn (' <NO ERROR>')
  127. else WriteLn (' <ERROR>');
  128. inc (i);
  129. until (i = Passes);
  130. WriteLn ('---');
  131. end.