mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-14 04:50:09 +02:00
fcl-db: tests: minor formatting changes and fix Filter test for SQL datasets (do not close/open because edits are lost)
git-svn-id: trunk@25790 -
This commit is contained in:
parent
a28917086b
commit
47404444b9
@ -135,10 +135,9 @@ type
|
||||
procedure TestLocateCaseIns;
|
||||
procedure TestLocateCaseInsInts;
|
||||
|
||||
procedure TestFirst;
|
||||
procedure TestOnFilter;
|
||||
procedure TestIntFilter; //Integer range filter
|
||||
procedure TestNegativeIntFilter; //Negative integer filter; bug 25168
|
||||
procedure TestOnFilter;
|
||||
procedure TestStringFilter; //String filter expressions
|
||||
|
||||
procedure TestNullAtOpen;
|
||||
@ -146,7 +145,8 @@ type
|
||||
procedure TestAppendOnEmptyDataset;
|
||||
procedure TestInsertOnEmptyDataset;
|
||||
|
||||
procedure TestEofAfterFirst; //bug 7211
|
||||
procedure TestFirst;
|
||||
procedure TestEofAfterFirst; // bug 7211
|
||||
procedure TestLastAppendCancel; // bug 5058
|
||||
procedure TestRecNo; // bug 5061
|
||||
procedure TestSetRecNo; // bug 6919
|
||||
@ -433,6 +433,32 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestRecordcountAfterReopen;
|
||||
var
|
||||
datalink1: tdatalink;
|
||||
datasource1: tdatasource;
|
||||
query1: TDataSet;
|
||||
|
||||
begin
|
||||
query1:= DBConnector.GetNDataset(11);
|
||||
datalink1:= TDataLink.create;
|
||||
datasource1:= tdatasource.create(nil);
|
||||
try
|
||||
datalink1.datasource:= datasource1;
|
||||
datasource1.dataset:= query1;
|
||||
|
||||
query1.active := true;
|
||||
query1.active := False;
|
||||
CheckEquals(0, THackDataLink(datalink1).RecordCount);
|
||||
query1.active := true;
|
||||
CheckTrue(THackDataLink(datalink1).RecordCount>0);
|
||||
query1.active := false;
|
||||
finally
|
||||
datalink1.free;
|
||||
datasource1.free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestLastAppendCancel;
|
||||
|
||||
var count : integer;
|
||||
@ -1030,28 +1056,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestFirst;
|
||||
var i : integer;
|
||||
begin
|
||||
with DBConnector.GetNDataset(true,14) do
|
||||
begin
|
||||
open;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
First;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
next;
|
||||
CheckEquals(2,FieldByName('ID').AsInteger);
|
||||
First;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
for i := 0 to 12 do
|
||||
next;
|
||||
CheckEquals(14,FieldByName('ID').AsInteger);
|
||||
First;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
close;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestDelete1;
|
||||
begin
|
||||
FTestDelete1(false);
|
||||
@ -1231,10 +1235,16 @@ begin
|
||||
Open;
|
||||
for Counter := 5 to 8 do
|
||||
begin
|
||||
CheckEquals(Counter,FieldByName('ID').asinteger);
|
||||
next;
|
||||
CheckEquals(Counter, FieldByName('ID').AsInteger);
|
||||
Next;
|
||||
end;
|
||||
CheckTrue(EOF);
|
||||
|
||||
Filter := '-id-ID=-4';
|
||||
CheckEquals(2, FieldByName('ID').AsInteger, 'Unary minus');
|
||||
Next;
|
||||
CheckTrue(EOF, 'Unary minus');
|
||||
|
||||
Close;
|
||||
end;
|
||||
end;
|
||||
@ -1256,60 +1266,33 @@ begin
|
||||
Post;
|
||||
Next;
|
||||
end;
|
||||
Close;
|
||||
|
||||
// Regular filter with negative integer values
|
||||
Filtered := True;
|
||||
Filter := '(id>-9) and (id<-4)';
|
||||
Open;
|
||||
First;
|
||||
for Counter := -5 downto -8 do
|
||||
begin
|
||||
CheckEquals(Counter,FieldByName('ID').AsInteger);
|
||||
next;
|
||||
Next;
|
||||
end;
|
||||
CheckTrue(EOF);
|
||||
Close;
|
||||
|
||||
// Filter with negative integer values and subtraction calculations
|
||||
Filtered := True;
|
||||
Filter := '(id>(-8-1)) and (id<(-3-1))';
|
||||
Open;
|
||||
First;
|
||||
for Counter := -5 downto -8 do
|
||||
begin
|
||||
CheckEquals(Counter,FieldByName('ID').AsInteger);
|
||||
next;
|
||||
Next;
|
||||
end;
|
||||
CheckTrue(EOF);
|
||||
|
||||
Close;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestRecordcountAfterReopen;
|
||||
var
|
||||
datalink1: tdatalink;
|
||||
datasource1: tdatasource;
|
||||
query1: TDataSet;
|
||||
|
||||
begin
|
||||
query1:= DBConnector.GetNDataset(11);
|
||||
datalink1:= TDataLink.create;
|
||||
datasource1:= tdatasource.create(nil);
|
||||
try
|
||||
datalink1.datasource:= datasource1;
|
||||
datasource1.dataset:= query1;
|
||||
|
||||
query1.active := true;
|
||||
query1.active := False;
|
||||
CheckEquals(0, THackDataLink(datalink1).RecordCount);
|
||||
query1.active := true;
|
||||
CheckTrue(THackDataLink(datalink1).RecordCount>0);
|
||||
query1.active := false;
|
||||
finally
|
||||
datalink1.free;
|
||||
datasource1.free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestStringFilter;
|
||||
// Tests a string expression filter
|
||||
var
|
||||
@ -2346,6 +2329,28 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestFirst;
|
||||
var i : integer;
|
||||
begin
|
||||
with DBConnector.GetNDataset(true,14) do
|
||||
begin
|
||||
open;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
First;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
next;
|
||||
CheckEquals(2,FieldByName('ID').AsInteger);
|
||||
First;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
for i := 0 to 12 do
|
||||
next;
|
||||
CheckEquals(14,FieldByName('ID').AsInteger);
|
||||
First;
|
||||
CheckEquals(1,FieldByName('ID').AsInteger);
|
||||
close;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestEofAfterFirst;
|
||||
begin
|
||||
with DBConnector.GetNDataset(0) do
|
||||
|
Loading…
Reference in New Issue
Block a user