From cc5b720bfda01b07de84f55132a03effb03f6636 Mon Sep 17 00:00:00 2001 From: reiniero Date: Sun, 13 Oct 2013 13:19:51 +0000 Subject: [PATCH] fcl-db: test for negative integer filters (issue #25168). git-svn-id: trunk@25754 - --- packages/fcl-db/tests/testdbbasics.pas | 35 +++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/packages/fcl-db/tests/testdbbasics.pas b/packages/fcl-db/tests/testdbbasics.pas index 50479958a2..98e6ef4de2 100644 --- a/packages/fcl-db/tests/testdbbasics.pas +++ b/packages/fcl-db/tests/testdbbasics.pas @@ -137,6 +137,7 @@ type procedure TestFirst; procedure TestIntFilter; //Integer range filter + procedure TestNegativeIntFilter; //Negative integer filter; bug 25168 procedure TestOnFilter; procedure TestStringFilter; //String filter expressions @@ -1238,6 +1239,37 @@ begin end; end; +procedure TTestCursorDBBasics.TestNegativeIntFilter; +// Tests a negative integer range filter expression +var + Counter : integer; +begin + with DBConnector.GetNDataset(15) do + begin + // Change ID values to be negative instead of positive + while not(EOF) do + begin + Edit; + FieldByName('ID').AsInteger:= + -1*(FieldByname('ID').AsInteger); + Post; + Next; + end; + Close; + + Filtered := True; + Filter := '(id>-9) and (id<-4)'; + Open; + for Counter := -5 downto -8 do + begin + CheckEquals(Counter,FieldByName('ID').asinteger); + next; + end; + CheckTrue(EOF); + Close; + end; +end; + procedure TTestDBBasics.TestRecordcountAfterReopen; var datalink1: tdatalink; @@ -1272,6 +1304,7 @@ begin with DBConnector.GetNDataset(15) do begin Open; + // Check equality Filter := '(name=''TestName3'')'; Filtered := True; @@ -2651,7 +2684,7 @@ begin AParam.Free; end; -procedure TTestCursorDBBasics.Testbug7007; +procedure TTestCursorDBBasics.TestBug7007; var datalink1: tdatalink;