|
@@ -57,11 +57,13 @@ type
|
|
|
procedure TestCSVExport; //tests csv export with default values
|
|
|
procedure TestCSVExport_RFC4180WithHeader; //tests csv export with settings that match RFC4180
|
|
|
procedure TestCSVExport_TweakSettingsSemicolon; //tests semicolon delimited, custom country values
|
|
|
+ procedure TestCSVExportDisabledFields;
|
|
|
procedure TestFixedTextExport;
|
|
|
procedure TestFixedTextExportUTF8;
|
|
|
procedure TestFixedTextExportUTF16;
|
|
|
procedure TestFixedTextExportBoolean;
|
|
|
procedure TestFixedTextExportHeader;
|
|
|
+ procedure TestFixedTextExportHeaderDisabledFields;
|
|
|
procedure TestFixedTextExportSpaces;
|
|
|
procedure TestJSONExport;
|
|
|
procedure TestRTFExport;
|
|
@@ -550,6 +552,46 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
+procedure TTestDBExport.TestCSVExportDisabledFields;
|
|
|
+var
|
|
|
+ DS : TBufDataset;
|
|
|
+ Exporter: TCSVExporter;
|
|
|
+ F : text;
|
|
|
+ S : UTF8String;
|
|
|
+ haveFile : Boolean;
|
|
|
+
|
|
|
+begin
|
|
|
+ haveFile:=False;
|
|
|
+ Exporter:=Nil;
|
|
|
+ DS:=GetABCDS;
|
|
|
+ try
|
|
|
+ Exporter := TCSVExporter.Create(nil);
|
|
|
+ Exporter.FormatSettings.HeaderRow:=True;
|
|
|
+ Exporter.Dataset:=DS;
|
|
|
+ Exporter.FileName := FExportTempDir + lowercase(TestName) + '.csv';
|
|
|
+ Exporter.BuildDefaultFieldMap(Exporter.ExportFields);
|
|
|
+ Exporter.ExportFields[1].Enabled:=False;
|
|
|
+ AssertEquals('Output count',2,Exporter.Execute);
|
|
|
+ AssertTrue('Output file must be created', FileExists(Exporter.FileName));
|
|
|
+ AssertFalse('Output file must not be empty', (GetFileSize(Exporter.FileName) = 0));
|
|
|
+ AssignFile(F,Exporter.FileName);
|
|
|
+ Reset(F);
|
|
|
+ haveFile:=True;
|
|
|
+ Readln(F,S);
|
|
|
+ AssertEquals('Correct header line','A,C',S); // 1 extra
|
|
|
+ Readln(F,S);
|
|
|
+ AssertEquals('Correct first line','xx,zz',S); // 1 extra
|
|
|
+ Readln(F,S);
|
|
|
+ AssertEquals('Correct first line','x,z',S); // 1 extra
|
|
|
+ finally
|
|
|
+ if HaveFile then
|
|
|
+ closeFile(F);
|
|
|
+ if (FKeepFilesAfterTest = False) then
|
|
|
+ DeleteFile(Exporter.FileName);
|
|
|
+ Exporter.Free;
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
procedure TTestDBExport.TestFixedTextExport;
|
|
|
var
|
|
|
Exporter: TFixedLengthExporter;
|
|
@@ -796,7 +838,7 @@ var
|
|
|
begin
|
|
|
haveFile:=False;
|
|
|
Exporter:=Nil;
|
|
|
- DS:=GetBooleanDS;
|
|
|
+ DS:=GetABCDS;
|
|
|
try
|
|
|
Exporter := TFixedLengthExporter.Create(nil);
|
|
|
Exporter.FormatSettings.BooleanFalse:='false';
|
|
@@ -827,6 +869,46 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
+procedure TTestDBExport.TestFixedTextExportHeaderDisabledFields;
|
|
|
+var
|
|
|
+ DS : TBufDataset;
|
|
|
+ Exporter: TFixedLengthExporter;
|
|
|
+ F : text;
|
|
|
+ S : UTF8String;
|
|
|
+ haveFile : Boolean;
|
|
|
+
|
|
|
+begin
|
|
|
+ haveFile:=False;
|
|
|
+ Exporter:=Nil;
|
|
|
+ DS:=GetABCDS;
|
|
|
+ try
|
|
|
+ Exporter := TFixedLengthExporter.Create(nil);
|
|
|
+ Exporter.FormatSettings.HeaderRow:=True;
|
|
|
+ Exporter.Dataset:=DS;
|
|
|
+ Exporter.FileName := FExportTempDir + lowercase(TestName) + '.txt';
|
|
|
+ Exporter.BuildDefaultFieldMap(Exporter.ExportFields);
|
|
|
+ Exporter.ExportFields[1].Enabled:=False;
|
|
|
+ AssertEquals('Output count',2,Exporter.Execute);
|
|
|
+ AssertTrue('Output file must be created', FileExists(Exporter.FileName));
|
|
|
+ AssertFalse('Output file must not be empty', (GetFileSize(Exporter.FileName) = 0));
|
|
|
+ AssignFile(F,Exporter.FileName);
|
|
|
+ Reset(F);
|
|
|
+ haveFile:=True;
|
|
|
+ Readln(F,S);
|
|
|
+ AssertEquals('Correct header line','A C ',S); // 1 extra
|
|
|
+ Readln(F,S);
|
|
|
+ AssertEquals('Correct first line','xxzz',S); // 1 extra
|
|
|
+ Readln(F,S);
|
|
|
+ AssertEquals('Correct first line','x z ',S); // 1 extra
|
|
|
+ finally
|
|
|
+ if HaveFile then
|
|
|
+ closeFile(F);
|
|
|
+ if (FKeepFilesAfterTest = False) then
|
|
|
+ DeleteFile(Exporter.FileName);
|
|
|
+ Exporter.Free;
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
procedure TTestDBExport.TestFixedTextExportSpaces;
|
|
|
var
|
|
|
DS : TBufDataset;
|