testbasics.pp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. unit TestBasics;
  2. {$IFDEF FPC}
  3. {$mode objfpc}{$H+}
  4. {$ENDIF}
  5. interface
  6. uses
  7. fpcunit, testutils, testregistry, testdecorator,
  8. Classes, SysUtils;
  9. type
  10. { TTestBasics }
  11. TTestBasics = class(TTestCase)
  12. private
  13. protected
  14. published
  15. procedure TestSimpleWinRegistry;
  16. procedure TestDoubleWrite;
  17. end;
  18. implementation
  19. uses
  20. registry;
  21. { TTestBasics }
  22. procedure TTestBasics.TestSimpleWinRegistry;
  23. var
  24. Registry : TRegistry;
  25. begin
  26. Registry := TRegistry.Create(KEY_READ);
  27. Registry.RootKey:=HKEY_LOCAL_MACHINE;
  28. // use a hopefully non existing key
  29. AssertFalse(Registry.KeyExists('FPC1234'));
  30. {$ifdef windows}
  31. AssertTrue(Registry.KeyExists('SOFTWARE'));
  32. {$endif}
  33. Registry.Free;
  34. end;
  35. procedure TTestBasics.TestDoubleWrite;
  36. {$ifndef windows}
  37. Var
  38. FN : String;
  39. {$endif}
  40. begin
  41. {$ifndef windows}
  42. FN:=includetrailingpathdelimiter(GetAppConfigDir(False))+'reg.xml';
  43. if FileExists(FN) then
  44. AssertTrue(DeleteFile(FN));
  45. {$endif}
  46. with TRegistry.Create do
  47. try
  48. OpenKey('test', true);
  49. WriteString('LAYOUT', '');
  50. CloseKey;
  51. finally
  52. Free;
  53. end;
  54. with TRegistry.Create do
  55. try
  56. OpenKey('test', true);
  57. WriteString('LAYOUT', '');
  58. CloseKey;
  59. finally
  60. Free;
  61. end;
  62. {$ifndef windows}
  63. FN:=includetrailingpathdelimiter(GetAppConfigDir(False))+'reg.xml';
  64. if FileExists(FN) then
  65. AssertTrue(DeleteFile(FN));
  66. {$endif}
  67. end;
  68. initialization
  69. RegisterTest(TTestBasics);
  70. end.