1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
unit TestConfigMemStorage;
{$mode objfpc}{$H+}
interface
uses
Classes,
SysUtils,
fpcunit,
testregistry,
XMLPropStorage,
LazConfigStorage;
type
TTestConfigMemStorage1 = class(TTestCase)
published
procedure TestDefaultValues;
end;
implementation
procedure TTestConfigMemStorage1.TestDefaultValues;
var
Storage: TConfigMemStorage;
LazConfig: TXMLConfigStorage;
begin
LazConfig := TXMLConfigStorage.Create('', False);
try
Storage := TConfigMemStorage.Create('', False);
try
CheckEquals(True, Storage.GetValue('Key/DefTrue1', True));
CheckEquals(True, Storage.GetValue('Key/DefTrue2', True));
CheckEquals(False, Storage.GetValue('Key/DefFalse1', False));
CheckEquals(False, Storage.GetValue('Key/DefFalse2', False));
CheckEquals('NonEmpty', Storage.GetValue('Key/DefNonEmpty1', 'NonEmpty'));
CheckEquals('NonEmpty', Storage.GetValue('Key/DefNonEmpty2', 'NonEmpty'));
CheckEquals('NonEmpty', Storage.GetValue('Key/DefNonEmpty3', 'NonEmpty'));
Storage.SetDeleteValue('Key/DefTrue1', True, True);
Storage.SetDeleteValue('Key/DefTrue2', False, True);
Storage.SetDeleteValue('Key/DefFalse1', True, False);
Storage.SetDeleteValue('Key/DefFalse2', False, False);
Storage.SetDeleteValue('Key/DefNonEmpty1', 'NonEmpty', 'NonEmpty');
Storage.SetDeleteValue('Key/DefNonEmpty2', '', 'NonEmpty');
Storage.SetDeleteValue('Key/DefNonEmpty3', 'Val', 'NonEmpty');
CheckEquals(True, Storage.GetValue('Key/DefTrue1', True));
CheckEquals(False, Storage.GetValue('Key/DefTrue2', True));
CheckEquals(True, Storage.GetValue('Key/DefFalse1', False));
CheckEquals(False, Storage.GetValue('Key/DefFalse2', False));
CheckEquals('NonEmpty', Storage.GetValue('Key/DefNonEmpty1', 'NonEmpty'));
CheckEquals('', Storage.GetValue('Key/DefNonEmpty2', 'NonEmpty'));
CheckEquals('Val', Storage.GetValue('Key/DefNonEmpty3', 'NonEmpty'));
Storage.SaveToConfig(LazConfig, 'CustomOptions');
finally
Storage.Free;
end;
Storage := TConfigMemStorage.Create('', False);
try
Storage.LoadFromConfig(LazConfig, 'CustomOptions');
CheckEquals(True, Storage.GetValue('Key/DefTrue1', True));
CheckEquals(False, Storage.GetValue('Key/DefTrue2', True));
CheckEquals(True, Storage.GetValue('Key/DefFalse1', False));
CheckEquals(False, Storage.GetValue('Key/DefFalse2', False));
CheckEquals('NonEmpty', Storage.GetValue('Key/DefNonEmpty1', 'NonEmpty'));
CheckEquals('', Storage.GetValue('Key/DefNonEmpty2', 'NonEmpty'));
CheckEquals('Val', Storage.GetValue('Key/DefNonEmpty3', 'NonEmpty'));
finally
Storage.Free;
end;
finally
LazConfig.Free;
end;
end;
initialization
RegisterTest(TTestConfigMemStorage1);
end.
|