mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 09:59:09 +02:00
tests: added test for removing unit from all uses sections
git-svn-id: trunk@42857 -
This commit is contained in:
parent
4c52e89cc2
commit
d876f35e8c
@ -2,6 +2,7 @@
|
|||||||
Test with:
|
Test with:
|
||||||
./runtests --format=plain --suite=TTestCTStdCodetools
|
./runtests --format=plain --suite=TTestCTStdCodetools
|
||||||
./runtests --format=plain --suite=TestCTStdFindBlockStart
|
./runtests --format=plain --suite=TestCTStdFindBlockStart
|
||||||
|
./runtests --format=plain --suite=TestCTRemoveUnitFromAllUsesSections
|
||||||
}
|
}
|
||||||
unit TestStdCodetools;
|
unit TestStdCodetools;
|
||||||
|
|
||||||
@ -22,6 +23,7 @@ type
|
|||||||
function GetCTMarker(Code: TCodeBuffer; Comment: string; out Position: TPoint): boolean;
|
function GetCTMarker(Code: TCodeBuffer; Comment: string; out Position: TPoint): boolean;
|
||||||
published
|
published
|
||||||
procedure TestCTStdFindBlockStart;
|
procedure TestCTStdFindBlockStart;
|
||||||
|
procedure TestCTRemoveUnitFromAllUsesSections;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -96,8 +98,6 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
Code:=CodeToolBoss.CreateFile('TestStdCodeTools.pas');
|
Code:=CodeToolBoss.CreateFile('TestStdCodeTools.pas');
|
||||||
|
|
||||||
// scan source
|
|
||||||
Code.Source:=GetSource();
|
Code.Source:=GetSource();
|
||||||
|
|
||||||
Test('begin,try,finally,end|end','begin1','begin1end');
|
Test('begin,try,finally,end|end','begin1','begin1end');
|
||||||
@ -105,6 +105,52 @@ begin
|
|||||||
Test('begin,try,finally,|end,end','try1','try1finally');
|
Test('begin,try,finally,|end,end','try1','try1finally');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTestCTStdCodetools.TestCTRemoveUnitFromAllUsesSections;
|
||||||
|
|
||||||
|
function GetSource(UsesSrc: string): string;
|
||||||
|
begin
|
||||||
|
Result:='program TestStdCodeTools;'+LineEnding
|
||||||
|
+UsesSrc
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Test(RemoveUnit, UsesSrc, ExpectedUsesSrc: string);
|
||||||
|
var
|
||||||
|
Header: String;
|
||||||
|
Footer: String;
|
||||||
|
Code: TCodeBuffer;
|
||||||
|
Src: String;
|
||||||
|
begin
|
||||||
|
Header:='program TestStdCodeTools;'+LineEnding;
|
||||||
|
Footer:=LineEnding
|
||||||
|
+'begin'+LineEnding
|
||||||
|
+'end.'+LineEnding;
|
||||||
|
Code:=CodeToolBoss.CreateFile('TestStdCodeTools.pas');
|
||||||
|
Code.Source:=Header+UsesSrc+Footer;
|
||||||
|
if not CodeToolBoss.RemoveUnitFromAllUsesSections(Code,RemoveUnit) then
|
||||||
|
begin
|
||||||
|
AssertEquals('RemoveUnitFromAllUsesSections failed: '+CodeToolBoss.ErrorMessage,true,false);
|
||||||
|
end else begin
|
||||||
|
Src:=Code.Source;
|
||||||
|
AssertEquals('RemoveUnitFromAllUsesSections altered header: ',Header,LeftStr(Src,length(Header)));
|
||||||
|
System.Delete(Src,1,length(Header));
|
||||||
|
AssertEquals('RemoveUnitFromAllUsesSections altered footer: ',Footer,RightStr(Src,length(Footer)));
|
||||||
|
System.Delete(Src,length(Src)-length(Footer)+1,length(Footer));
|
||||||
|
AssertEquals('RemoveUnitFromAllUsesSections: ',ExpectedUsesSrc,Src);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Test('shellapi',
|
||||||
|
'uses'+LineEnding
|
||||||
|
+' Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,'+LineEnding
|
||||||
|
+' Dialogs, shellAPI, StdCtrls, ExtCtrls, ComCtrls, strutils, Buttons, inifiles;'+LineEnding
|
||||||
|
,
|
||||||
|
'uses'+LineEnding
|
||||||
|
+' Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,'+LineEnding
|
||||||
|
+' Dialogs, StdCtrls, ExtCtrls, ComCtrls, strutils, Buttons, inifiles;'+LineEnding
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
AddToCodetoolsTestSuite(TTestCTStdCodetools);
|
AddToCodetoolsTestSuite(TTestCTStdCodetools);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="9"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user