Browse Source

* overloaded string routines testing

carl 23 years ago
parent
commit
1dea3ef6b5
1 changed files with 80 additions and 0 deletions
  1. 80 0
      tests/test/tover1.pp

+ 80 - 0
tests/test/tover1.pp

@@ -0,0 +1,80 @@
+program tover1;
+
+const
+  RESULT_PCHAR = 'pchar parameter call';
+  RESULT_ANSI  = 'ansistring parameter call';
+  RESULT_SHORT = 'shortstring parameter call';
+  RESULT_WIDE  = 'widestring parameter call';
+
+{ This tests method overloads, to verify 
+  if they conform to correct type conversion
+}
+function test_string(s: shortstring): shortstring;
+Begin
+  test_string := RESULT_SHORT;
+end;
+
+{$ifndef ver1_0}
+function test_string(s: widestring): shortstring;
+Begin
+  test_string := RESULT_WIDE;
+end;
+{$endif}
+
+
+function test_string(s: ansistring): shortstring;
+Begin
+  test_string := RESULT_ANSI;
+end;
+
+function test_string(p:pchar): shortstring;
+begin
+  test_string := RESULT_PCHAR;
+end;
+
+procedure fail;
+ begin
+   writeln('Failure!');
+   Halt(1);
+ end;
+
+var 
+  short_string : shortstring;
+  ansi_string : ansistring;
+{$ifndef ver1_0}  
+  wide_string : widestring;
+{$endif}  
+  p_string : pchar;
+  s: shortstring;
+Begin
+  p_string:=nil;
+  ansi_string:='';
+  short_string:='';
+{$ifndef ver1_0}
+  wide_string:='';
+{$endif}
+  Write('Test of overloaded call to string routines...');
+  { test parameter call }
+  s:=test_string(short_string);
+  if s <> RESULT_SHORT then
+    fail;
+  s:=test_string(ansi_string);
+  if s <> RESULT_ANSI then
+    fail;
+{$ifndef ver1_0}    
+  s:=test_string(wide_string);
+  if s <> RESULT_WIDE then
+    fail;
+{$endif}    
+  s:=test_string(p_string);
+  if s <> RESULT_PCHAR then
+    fail;
+  WriteLn('Success!');
+end.
+
+{
+  $Log$
+  Revision 1.1  2002-09-16 19:07:17  carl
+    * overloaded string routines testing
+
+}