* Fixed TDataLink.Activerecord, mantis 6893 + test

git-svn-id: trunk@6253 -
This commit is contained in:
joost 2007-01-28 19:37:24 +00:00
parent 923c70932e
commit f95f65de84
2 changed files with 44 additions and 0 deletions

View File

@ -7,6 +7,7 @@ Constructor TDataLink.Create;
begin
Inherited Create;
FBufferCount:=1;
FFirstRecord := 0;
FDataSource := nil;
FDatasourceFixed:=False;
end;
@ -26,6 +27,7 @@ end;
Procedure TDataLink.ActiveChanged;
begin
FFirstRecord := 0;
end;
Procedure TDataLink.CheckActiveAndEditing;

View File

@ -55,6 +55,7 @@ type
procedure TestEOFBOFClosedDataset;
procedure TestDataEventsResync;
procedure TestBug7007;
procedure TestBug6893;
procedure TestdeFieldListChange;
procedure TestLastAppendCancel; // bug 5058
procedure TestRecNo; // bug 5061
@ -73,6 +74,8 @@ implementation
uses toolsunit, bufdataset;
type THackDataLink=class(TdataLink);
procedure TTestDBBasics.TestIsEmpty;
begin
if not (DBConnector.GetNDataset(5) is TBufDataset) then
@ -818,6 +821,45 @@ begin
end;
end;
procedure TTestDBBasics.TestBug6893;
var
datalink1: tdatalink;
datasource1: tdatasource;
query1: TDataSet;
begin
query1:= DBConnector.GetNDataset(25);
datalink1:= TDataLink.create;
datasource1:= tdatasource.create(nil);
try
datalink1.datasource:= datasource1;
datasource1.dataset:= query1;
datalink1.buffercount:= 5;
query1.active := true;
query1.MoveBy(20);
AssertEquals(5, THackDataLink(datalink1).Firstrecord);
AssertEquals(4, datalink1.ActiveRecord);
AssertEquals(21, query1.RecNo);
query1.active := False;
AssertEquals(0, THackDataLink(datalink1).Firstrecord);
AssertEquals(0, datalink1.ActiveRecord);
query1.active := true;
AssertEquals(0, THackDataLink(datalink1).Firstrecord);
AssertEquals(0, datalink1.ActiveRecord);
AssertEquals(1, query1.RecNo);
finally
datalink1.free;
datasource1.free;
end;
end;
procedure TTestDBBasics.TestBufDatasetCancelUpdates1;
var i : byte;
begin