fpc/tests/webtbs/tw4640.pp
Jonas Maebe 43af4ed0b3 + added
git-svn-id: trunk@2157 -
2006-01-04 12:12:58 +00:00

115 lines
2.3 KiB
ObjectPascal

{ Source provided for Free Pascal Bug Report 4640 }
{ Submitted by "Tomas" on 2005-12-28 }
{ e-mail: }
var
T: text;
W: word;
N: integer;
begin
DefaultTextLineBreakStyle := tlbsCRLF;
Assign (T, 'readtest.txt');
Rewrite (T);
W := 123;
Write (T, W);
Close (T);
Reset (T);
N := -1;
Read (T, N);
WriteLn (N);
if N <> 123 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Read (T, N); (* Funny thing - FPC works OK for integers, not for words. *)
WriteLn (N);
if N <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Read (T, N); (* Funny thing - FPC works OK for integers, not for words. *)
WriteLn (N);
if N <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Close (T);
Reset (T);
W := 65535;
Read (T, W);
WriteLn (W);
if W <> 123 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Read (T, W); (* FPC issues RTE 106 here, TP/BP doesn't. *)
WriteLn (W);
if W <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Read (T, W); (* FPC issues RTE 106 here, TP/BP doesn't. *)
WriteLn (W);
if W <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Close (T);
Rewrite (T);
W := 123;
WriteLn (T, W);
Close (T);
Reset (T);
Read (T, W);
WriteLn (W);
if W <> 123 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Read (T, W); (* Another inconsistence - Read works, ReadLn doesn't. *)
WriteLn (W);
if W <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Readln (T, W); (* Another inconsistence - Read works, ReadLn doesn't. *)
WriteLn (W);
if W <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Close (T);
Reset (T);
Read (T, N);
WriteLn (n);
if n <> 123 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Read (T, N); (* Again, FPC issues RTE 106 here, TP/BP doesn't. *)
WriteLn (N);
if W <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
ReadLn (T, N); (* Again, FPC issues RTE 106 here, TP/BP doesn't. *)
WriteLn (N);
if W <> 0 then
begin
WriteLn ('Wrong value!');
Halt (255);
end;
Close (T);
erase(t);
end.