|
@@ -0,0 +1,98 @@
|
|
|
|
+unit tcinifile;
|
|
|
|
+
|
|
|
|
+{$mode objfpc}{$H+}
|
|
|
|
+
|
|
|
|
+interface
|
|
|
|
+
|
|
|
|
+uses
|
|
|
|
+ Classes, SysUtils, fpcunit, testutils, inifiles, testregistry;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+
|
|
|
|
+ { TTestIniFile }
|
|
|
|
+
|
|
|
|
+ TTestIniFile= class(TTestCase)
|
|
|
|
+ private
|
|
|
|
+ Fini: TCustomIniFile;
|
|
|
|
+ protected
|
|
|
|
+ Procedure CreateIni;
|
|
|
|
+ procedure SetUp; override;
|
|
|
|
+ procedure TearDown; override;
|
|
|
|
+ Property Ini : TCustomIniFile Read Fini;
|
|
|
|
+ published
|
|
|
|
+ procedure TestWriteBoolean;
|
|
|
|
+ procedure TestReadBoolean;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+implementation
|
|
|
|
+
|
|
|
|
+procedure TTestIniFile.CreateIni;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ Fini:=TMemIniFIle.Create('tmp.ini');
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TTestIniFile.TestWriteBoolean;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ CreateIni;
|
|
|
|
+ Ini.WriteBool('a','b',true);
|
|
|
|
+ AssertEquals('Default true','1',Ini.ReadString('a','b',''));
|
|
|
|
+ Ini.WriteBool('a','b',False);
|
|
|
|
+ AssertEquals('Default false','0',Ini.ReadString('a','b',''));
|
|
|
|
+ Ini.Options:=Ini.Options+[ifoWriteStringBoolean];
|
|
|
|
+ Ini.WriteBool('a','b',true);
|
|
|
|
+ AssertEquals('Default string true','true',Ini.ReadString('a','b',''));
|
|
|
|
+ Ini.WriteBool('a','b',false);
|
|
|
|
+ AssertEquals('Default string false','false',Ini.ReadString('a','b',''));
|
|
|
|
+ Ini.SetBoolStringValues(true,['t','true']);
|
|
|
|
+ Ini.WriteBool('a','b',true);
|
|
|
|
+ AssertEquals('True from string array','t',Ini.ReadString('a','b',''));
|
|
|
|
+ Ini.SetBoolStringValues(false,['f','false']);
|
|
|
|
+ Ini.WriteBool('a','b',false);
|
|
|
|
+ AssertEquals('True from string array','f',Ini.ReadString('a','b',''));
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TTestIniFile.TestReadBoolean;
|
|
|
|
+begin
|
|
|
|
+ CreateIni;
|
|
|
|
+ Ini.WriteString('a','b','1');
|
|
|
|
+ AssertEquals('Default true',true,Ini.ReadBool('a','b',False));
|
|
|
|
+ Ini.WriteString('a','b','0');
|
|
|
|
+ AssertEquals('Default false',false,Ini.ReadBool('a','b',True));
|
|
|
|
+ Ini.WriteString('a','b','');
|
|
|
|
+ AssertEquals('Empty returns Default ',true,Ini.ReadBool('a','b',true));
|
|
|
|
+ Ini.SetBoolStringValues(true,['t','true']);
|
|
|
|
+ Ini.WriteString('a','b','t');
|
|
|
|
+ AssertEquals('First string match',true,Ini.ReadBool('a','b',false));
|
|
|
|
+ Ini.WriteString('a','b','true');
|
|
|
|
+ AssertEquals('Second string match',true,Ini.ReadBool('a','b',false));
|
|
|
|
+ Ini.WriteString('a','b','d');
|
|
|
|
+ AssertEquals('No string match, default',true,Ini.ReadBool('a','b',true));
|
|
|
|
+ Ini.SetBoolStringValues(true,[]);
|
|
|
|
+ Ini.SetBoolStringValues(false,['f','false']);
|
|
|
|
+ Ini.WriteString('a','b','f');
|
|
|
|
+ AssertEquals('First string match',false,Ini.ReadBool('a','b',true));
|
|
|
|
+ Ini.WriteString('a','b','false');
|
|
|
|
+ AssertEquals('Second string match',false,Ini.ReadBool('a','b',true));
|
|
|
|
+ Ini.WriteString('a','b','d');
|
|
|
|
+ AssertEquals('No string match, default',false,Ini.ReadBool('a','b',false));
|
|
|
|
+ Ini.SetBoolStringValues(true,['t','true']);
|
|
|
|
+ AssertEquals('No string match, default',false,Ini.ReadBool('a','b',false));
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TTestIniFile.SetUp;
|
|
|
|
+begin
|
|
|
|
+ DeleteFile('tmp.ini');
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TTestIniFile.TearDown;
|
|
|
|
+begin
|
|
|
|
+ DeleteFile('tmp.ini');
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+initialization
|
|
|
|
+
|
|
|
|
+ RegisterTest(TTestIniFile);
|
|
|
|
+end.
|
|
|
|
+
|