mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-09 20:53:25 +02:00
88 lines
2.8 KiB
ObjectPascal
88 lines
2.8 KiB
ObjectPascal
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.
|
|
|