Browse Source

* New "tval1" test to verify that Val with constants works properly

J. Gareth "Curious Kit" Moreton 1 year ago
parent
commit
d8079ea239
1 changed files with 32 additions and 0 deletions
  1. 32 0
      tests/test/cg/tval1.pp

+ 32 - 0
tests/test/cg/tval1.pp

@@ -0,0 +1,32 @@
+{ %OPT=-O3 }
+
+{$mode objfpc}
+
+program tval1;
+
+function TryStrToInt(const s: string; out i: Longint): boolean; inline;
+var
+  Error : word;
+begin
+  Val(s, i, Error);
+  TryStrToInt:=(Error=0)
+end;
+
+procedure DoTest;
+var
+  Output: Longint;
+begin
+  if TryStrToInt('Invalid', Output) then
+    Halt(1);
+
+  if not TryStrToInt('2', Output) then
+    Halt(2);
+	
+  if Output <> 2 then
+    Halt(3);
+end;
+
+begin
+  DoTest(); { This is so "Output" is a local variable rather than global }
+  WriteLn('ok');
+end.