SynEdit: Fix test

git-svn-id: trunk@33511 -
This commit is contained in:
martin 2011-11-13 19:02:54 +00:00
parent 0fde697321
commit 65bfe33229

View File

@ -72,6 +72,19 @@ end;
procedure TTestBookMarks.TestMarks;
var
m, m1, m2: TSynEditMark;
procedure AssertMarksCountOnLine(Name: String; ALine: Integer; AExpCnt: integer = 0);
var
l: TSynEditMarkLine;
c: Integer;
begin
l := SynEdit.Marks.Line[ALine];
if l = nil
then c := 0
else c:= l.Count;
AssertEquals(Name + ' LineCount for line '+IntToStr(ALine)+' is '+IntToStr(AExpCnt), AExpCnt, c);
end;
begin
ReCreateEdit;
SetLines(TestText1);
@ -80,29 +93,29 @@ begin
m := AddMark(3,2);
CheckMarks('3/2', [ 3,2 ]);
Assert(SynEdit.Marks.Line[2][1] = nil, 'mfl2');
Assert(SynEdit.Marks.Line[3][1] = m, 'mfl3');
AssertMarksCountOnLine('mfl2', 2);
Assert(SynEdit.Marks.Line[3][0] = m, 'mfl3');
m1 := AddMark(5,2);
CheckMarks('3/2 - 5/1', [ 3,2, 5,2 ]);
Assert(SynEdit.Marks.Line[1][1] = nil, 'mfl1 /2');
Assert(SynEdit.Marks.Line[2][1] = nil, 'mfl2 /2');
Assert(SynEdit.Marks.Line[3][1] = m, 'mfl3 /2'); Assert(SynEdit.Marks.Line[3].Count = 1, 'mfl3a /2');
Assert(SynEdit.Marks.Line[4][1] = nil, 'mfl4 /2');
Assert(SynEdit.Marks.Line[5][1] = m1, 'mfl5 /2'); Assert(SynEdit.Marks.Line[5].Count = 1, 'mfl5a /2');
Assert(SynEdit.Marks.Line[6][1] = nil, 'mfl6 /2');
AssertMarksCountOnLine('mfl1 /2', 1);
AssertMarksCountOnLine('mfl2 /2', 2);
Assert(SynEdit.Marks.Line[3][0] = m, 'mfl3 /2'); Assert(SynEdit.Marks.Line[3].Count = 1, 'mfl3a /2');
AssertMarksCountOnLine('mfl4 /2', 4);
Assert(SynEdit.Marks.Line[5][0] = m1, 'mfl5 /2'); Assert(SynEdit.Marks.Line[5].Count = 1, 'mfl5a /2');
AssertMarksCountOnLine('mfl6 /2', 6);
m2 := AddMark(3,1);
// colums are in order, in which they where added
CheckMarks('3/1 - 3/2 - 5/1', [ 3,2, 3,1, 5,2 ]);
Assert(SynEdit.Marks.Line[1][1] = nil, 'mfl1 /3');
Assert(SynEdit.Marks.Line[2][1] = nil, 'mfl2 /3');
Assert(SynEdit.Marks.Line[3][1] = m, 'mfl3 /3');
Assert(SynEdit.Marks.Line[3][2] = m2, 'mfl3 /3');
AssertMarksCountOnLine('mfl1 /3', 1);
AssertMarksCountOnLine('mfl2 /3', 2);
Assert(SynEdit.Marks.Line[3][0] = m, 'mfl3 /3');
Assert(SynEdit.Marks.Line[3][1] = m2, 'mfl3 /3');
Assert(SynEdit.Marks.Line[3].Count = 2, 'mfl3a /3');
Assert(SynEdit.Marks.Line[4][1] = nil, 'mfl4 /3');
Assert(SynEdit.Marks.Line[5][1] = m1, 'mfl5 /3'); Assert(SynEdit.Marks.Line[5].Count = 1, 'mfl5a /3');
Assert(SynEdit.Marks.Line[6][1] = nil, 'mfl6 /3');
AssertMarksCountOnLine('mfl4 /3', 4);
Assert(SynEdit.Marks.Line[5][0] = m1, 'mfl5 /3'); Assert(SynEdit.Marks.Line[5].Count = 1, 'mfl5a /3');
AssertMarksCountOnLine('mfl6 /3', 6);
// check movement