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:
lacak 2015-04-09 08:25:53 +00:00
parent 8fc562a2f8
commit befb6ae1ea
3 changed files with 9 additions and 10 deletions

View File

@ -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

View File

@ -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;

View File

@ -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']);