michael 25 лет назад
Родитель
Сommit
d08acb75ec
3 измененных файлов с 45 добавлено и 1 удалено
  1. 1 1
      fcl/tests/Makefile.fpc
  2. 1 0
      fcl/tests/README
  3. 43 0
      fcl/tests/sstream.pp

+ 1 - 1
fcl/tests/Makefile.fpc

@@ -6,7 +6,7 @@
 programs=stringl dparser fstream mstream list threads testrtf \
          cfgtest xmldump htdump testcgi tidea \
          b64test b64test2 b64enc b64dec restest testz testz2 \
-         istream doecho testproc
+         istream doecho testproc sstream
 programs_win32=showver
 programs_linux=sockcli isockcli dsockcli socksvr isocksvr dsocksvr
 

+ 1 - 0
fcl/tests/README

@@ -43,3 +43,4 @@ dsocksvr.pp   Unix socket server application. Tests ssockets.
 sockcli.pp   Unix socket client application. Tests TUnixStream in ssockets.
 isockcli.pp   Inet socket server application. Tests TInetStream in ssockets.
 dsockcli.pp   Dual socket server application. Tests ssockets.
+sstream.pp    Tests TStringStream object.

+ 43 - 0
fcl/tests/sstream.pp

@@ -0,0 +1,43 @@
+Program TestStream;
+
+uses classes;
+
+Var Stream : TStringStream;
+    S,T : AnsiString;
+   
+begin
+  S:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
+  T:=S;
+  Writeln ('Creating stream.');
+  Stream:=TStringStream.Create(S);
+  Writeln ('Initial Size : ',Stream.Size);
+  Writeln ('Initial Position : ',Stream.Position);
+  Writeln ('Setting new size to 100');
+  Stream.Size:=100;
+  Writeln ('New Size : ',Stream.Size);
+  Writeln ('new Position : ',Stream.Position);
+  Stream.WriteByte  (1);
+  Stream.WriteWord  (2);
+  Stream.WriteDWord (3);
+  Stream.WriteString (S);
+  Writeln ('Size after write : ',Stream.Size);
+  Writeln ('Position after write : ',Stream.Position);
+  Writeln ('Truncating size');
+  Stream.Size:=Stream.Position;
+  Writeln ('Stream Size is : ',Stream.Size);
+  Writeln ('Stream Position : ',Stream.Position);
+  Writeln ('Seek to position 0 : ', Stream.Seek(0,soFromBeginning));
+  Writeln ('new Position : ',Stream.Position);
+  If Stream.ReadByte<>1 then  Writeln ('First byte not 1');
+  If Stream.ReadWord<>2 then  Writeln ('First word not 2');
+  If Stream.ReadDWord<>3 then Writeln ('First Word not 3');
+  T:=Stream.ReadString(Length(S));
+  If Length(T)<>Length(S) then 
+    Writeln ('Couldn''t read string.');
+  Stream.WriteByte  (1);
+  Stream.WriteWord  (2);
+  Stream.WriteDWord (3);
+  Stream.WriteBuffer (S[1],Length(S));
+  Writeln ('Stream Size is : ',Stream.Size);
+  Stream.Free;
+end.