mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-04 12:40:29 +01:00
fcl-db: sdfdataset: fix false negative test TestInsertOnEmptyDataset. By signal in previous test, that test dataset is changed, so it can be restored to original state after test completion (ResetNDatasets).
git-svn-id: trunk@30507 -
This commit is contained in:
parent
8fc562a2f8
commit
befb6ae1ea
@ -387,11 +387,11 @@ begin
|
||||
FData.LoadFromFile(FileName);
|
||||
FRecordSize := FDefaultRecordLength;
|
||||
InternalInitFieldDefs;
|
||||
if FRecordSize = 0 then
|
||||
FRecordSize := FDefaultRecordLength;
|
||||
if DefaultFields then
|
||||
CreateFields;
|
||||
BindFields(TRUE);
|
||||
if FRecordSize = 0 then
|
||||
FRecordSize := FDefaultRecordLength;
|
||||
BookmarkSize := SizeOf(PtrInt);
|
||||
FRecInfoOfs := FRecordSize + CalcFieldsSize; // Initialize the offset for TRecInfo in the buffer
|
||||
FRecBufSize := FRecInfoOfs + SizeOf(TRecInfo);
|
||||
@ -480,7 +480,7 @@ end;
|
||||
function TFixedFormatDataSet.GetRecord(Buffer: TRecordBuffer; GetMode: TGetMode;
|
||||
DoCheck: Boolean): TGetResult;
|
||||
begin
|
||||
if (FData.Count < (1+FDataOffset)) then
|
||||
if (FData.Count <= FDataOffset) then
|
||||
Result := grEOF
|
||||
else
|
||||
Result := TxtGetRecord(Buffer, GetMode);
|
||||
@ -953,7 +953,7 @@ begin
|
||||
else
|
||||
begin
|
||||
If (FCurrec=-1) and (GetMode=gmNext) then
|
||||
inc(FCurrec);
|
||||
inc(FCurRec);
|
||||
Result := inherited GetRecord(Buffer, GetMode, DoCheck);
|
||||
end;
|
||||
end
|
||||
|
||||
@ -71,8 +71,6 @@ begin
|
||||
// work properly)
|
||||
Post;
|
||||
end;
|
||||
if state = dsinsert then
|
||||
Post;
|
||||
Close;
|
||||
Free;
|
||||
end;
|
||||
@ -86,9 +84,9 @@ begin
|
||||
with TSdfDataSet.Create(nil) do
|
||||
begin
|
||||
FileName := dbname+PathDelim+'fpdev_field.dat';
|
||||
DeleteFile(FileName);
|
||||
// Make sure the directory exists so we can write
|
||||
ForceDirectories(dbname);
|
||||
DeleteFile(FileName);
|
||||
FileMustExist:=False;
|
||||
|
||||
SetFieldDatasetSchema(Schema);
|
||||
@ -102,6 +100,7 @@ begin
|
||||
Post;
|
||||
end;
|
||||
Close;
|
||||
Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -199,7 +199,7 @@ type THackDataLink=class(TDataLink);
|
||||
|
||||
procedure TTestCursorDBBasics.TestAppendOnEmptyDataset;
|
||||
begin
|
||||
with DBConnector.GetNDataset(0) do
|
||||
with DBConnector.GetNDataset(True,0) do
|
||||
begin
|
||||
open;
|
||||
CheckTrue(CanModify);
|
||||
@ -217,7 +217,7 @@ end;
|
||||
|
||||
procedure TTestCursorDBBasics.TestInsertOnEmptyDataset;
|
||||
begin
|
||||
with DBConnector.GetNDataset(0) do
|
||||
with DBConnector.GetNDataset(True,0) do
|
||||
begin
|
||||
open;
|
||||
CheckTrue(CanModify);
|
||||
@ -708,7 +708,7 @@ begin
|
||||
InsertRecord([152,'TestInsRec']);
|
||||
CheckEquals(152,fields[0].AsInteger);
|
||||
CheckEquals('TestInsRec',fields[1].AsString);
|
||||
CheckTrue(state=dsBrowse);
|
||||
CheckTrue(State=dsBrowse);
|
||||
|
||||
// AppendRecord should append a record, further the same as InsertRecord
|
||||
AppendRecord([151,'TestInsRec']);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user