Browse Source

+ test for Sysutils.Trim*

florian 1 year ago
parent
commit
f2bcf407f3
1 changed files with 55 additions and 0 deletions
  1. 55 0
      tests/test/units/sysutils/ttrim.pp

+ 55 - 0
tests/test/units/sysutils/ttrim.pp

@@ -0,0 +1,55 @@
+uses
+  sysutils;
+
+procedure Check(b: boolean;i: longint);
+begin
+  if not(b) then
+    begin
+      writeln('Error: ',i);
+      halt(1);
+    end;
+end;
+
+procedure testtrim_ansistr;
+  var
+    s: ansistring;
+  begin
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(Trim(s)='asdfA SDF'#10#9#13'asdfASDF',1);
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(TrimRight(s)=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF',2);
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(TrimLeft(s)='asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ',3);
+  end;
+
+
+procedure testtrim_unicodestr;
+  var
+    s: unicodestring;
+  begin
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(Trim(s)='asdfA SDF'#10#9#13'asdfASDF',1001);
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(TrimRight(s)=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF',1002);
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(TrimLeft(s)='asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ',1003);
+  end;
+
+
+procedure testtrim_widestr;
+  var
+    s: widestring;
+  begin
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(Trim(s)='asdfA SDF'#10#9#13'asdfASDF',1001);
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(TrimRight(s)=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF',1002);
+    s:=#10#9#13'  asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ';
+    Check(TrimLeft(s)='asdfA SDF'#10#9#13'asdfASDF'#10#9#13'  ',1003);
+  end;
+
+begin
+  testtrim_ansistr;
+  testtrim_unicodestr;
+  testtrim_widestr;
+end.