lazarus-ccr/components/svn/test/testsvncommand.pas
2007-04-27 20:31:57 +00:00

69 lines
1.3 KiB
ObjectPascal

unit TestSvnCommand;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, fpcunit, testregistry,
SvnCommand, svnclasses;
type
{ TTestSvnCommand }
TTestSvnCommand= class(TTestCase)
published
procedure TestHookUp;
procedure TestGetInfo;
end;
implementation
procedure TTestSvnCommand.TestHookUp;
var
SvnExitCode : integer;
XmlOutput: TMemoryStream;
begin
try
XmlOutput:= TMemoryStream.Create;
SvnExitCode := ExecuteSvnCommand('log --xml -rHEAD', XmlOutput);
AssertEquals('Unexpected exit code', 0, SvnExitCode);
AssertTrue('No XmlOutput', XmlOutput.Size>0)
finally
XmlOutput.Free;
end;
end;
procedure TTestSvnCommand.TestGetInfo;
var
SvnExitCode : integer;
XmlOutput: TMemoryStream;
SvnInfo: TSvnInfo;
begin
try
XmlOutput:= TMemoryStream.Create;
SvnExitCode := ExecuteSvnCommand('info --xml .', XmlOutput);
AssertEquals('Unexpected exit code', 0, SvnExitCode);
AssertTrue('No XmlOuput', XmlOutput.Size>0);
SvnInfo := TSvnInfo.Create;
try
XmlOutput.Position := 0;
SvnInfo.LoadFromStream(XmlOutput);
AssertEquals('Wrong repository UUID',
'8e941d3f-bd1b-0410-a28a-d453659cc2b4',
SvnInfo.Entry.Repository.UUID);
finally
SvnInfo.Free;
end;
finally
XmlOutput.Free;
end;
end;
initialization
RegisterTest(TTestSvnCommand);
end.