mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 13:45:58 +02:00
* Added TestDeleteDoubleDelete
* Improved check of a streamed dataset definition git-svn-id: trunk@12221 -
This commit is contained in:
parent
9f25b3e2ed
commit
55352b6def
@ -95,6 +95,7 @@ type
|
||||
procedure TestEofAfterFirst; //bug 7211
|
||||
procedure TestBufDatasetCancelUpd1;
|
||||
procedure TestMultipleDeleteUpdateBuffer;
|
||||
procedure TestDoubleDelete;
|
||||
procedure TestDoubleClose;
|
||||
procedure TestCalculatedField;
|
||||
procedure TestAssignFieldftString;
|
||||
@ -945,16 +946,20 @@ begin
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.FTestXMLDatasetDefinition(ADataset: TDataset);
|
||||
var i : integer;
|
||||
begin
|
||||
AssertEquals(2,ADataset.FieldDefs.Count);
|
||||
AssertEquals(5,ADataset.RecordCount);
|
||||
AssertEquals(2,ADataset.Fields.Count);
|
||||
AssertEquals('ID',ADataset.Fields[0].FieldName);
|
||||
AssertEquals('NAME',ADataset.Fields[1].FieldName);
|
||||
AssertTrue('Incorrect fieldtype',ADataset.fields[1].DataType=ftString);
|
||||
AssertEquals('TestName1',ADataset.FieldByName('name').AsString);
|
||||
ADataset.Next;
|
||||
AssertEquals('TestName2',ADataset.FieldByName('name').AsString);
|
||||
i := 1;
|
||||
while not ADataset.EOF do
|
||||
begin
|
||||
AssertEquals('TestName'+inttostr(i),ADataset.FieldByName('name').AsString);
|
||||
ADataset.Next;
|
||||
inc(i);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestOnFilterProc(DataSet: TDataSet; var Accept: Boolean);
|
||||
@ -2042,6 +2047,42 @@ begin
|
||||
ds.close;
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestDoubleDelete;
|
||||
var ds : TBufDataset;
|
||||
begin
|
||||
ds := TBufDataset(DBConnector.GetNDataset(true,5));
|
||||
if not (ds is TBufDataset) then
|
||||
Ignore('This test only applies to TBufDataset and descendents.');
|
||||
|
||||
with ds do
|
||||
begin
|
||||
open;
|
||||
next; next;
|
||||
Delete;
|
||||
Delete;
|
||||
|
||||
first;
|
||||
AssertEquals(1,fieldbyname('id').AsInteger);
|
||||
next;
|
||||
AssertEquals(2,fieldbyname('id').AsInteger);
|
||||
next;
|
||||
AssertEquals(5,fieldbyname('id').AsInteger);
|
||||
|
||||
CancelUpdates;
|
||||
|
||||
first;
|
||||
AssertEquals(1,fieldbyname('id').AsInteger);
|
||||
next;
|
||||
AssertEquals(2,fieldbyname('id').AsInteger);
|
||||
next;
|
||||
AssertEquals(3,fieldbyname('id').AsInteger);
|
||||
next;
|
||||
AssertEquals(4,fieldbyname('id').AsInteger);
|
||||
next;
|
||||
AssertEquals(5,fieldbyname('id').AsInteger);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestNullAtOpen;
|
||||
begin
|
||||
with dbconnector.getndataset(0) do
|
||||
|
Loading…
Reference in New Issue
Block a user