diff options
| author | nyamatongwe <unknown> | 2011-06-07 11:48:54 +1000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2011-06-07 11:48:54 +1000 | 
| commit | 7c30a49a688384e5b2c0c573b3ec7ce400c01f7b (patch) | |
| tree | f8067474c06b4a259e5c2a85eca2808bf9df39b1 | |
| parent | d46eab36df50e53cbe423ac5bf938d4c291bf5d2 (diff) | |
| download | scintilla-mirror-7c30a49a688384e5b2c0c573b3ec7ce400c01f7b.tar.gz | |
Add tests for bug found in #3291579 and for new RunStyles::Find
and ContractionState::HiddenLines methods.
| -rw-r--r-- | test/unit/testContractionState.cxx | 21 | ||||
| -rw-r--r-- | test/unit/testRunStyles.cxx | 98 | 
2 files changed, 119 insertions, 0 deletions
| diff --git a/test/unit/testContractionState.cxx b/test/unit/testContractionState.cxx index 96a7bbf8a..bd3b6f111 100644 --- a/test/unit/testContractionState.cxx +++ b/test/unit/testContractionState.cxx @@ -76,6 +76,7 @@ TEST_F(ContractionStateTest, ShowHide) {  	EXPECT_EQ(0, pcs->GetVisible(1));  	EXPECT_EQ(true, pcs->GetVisible(2));  	EXPECT_EQ(4, pcs->LinesDisplayed()); +	EXPECT_EQ(1, pcs->HiddenLines());  	pcs->SetVisible(1, 2, true);  	for (int l=0;l<4;l++) { @@ -88,6 +89,26 @@ TEST_F(ContractionStateTest, ShowHide) {  	for (int l=0;l<4;l++) {  		EXPECT_EQ(true, pcs->GetVisible(0));  	} +	EXPECT_EQ(0, pcs->HiddenLines()); +} + +TEST_F(ContractionStateTest, Hidden) { +	pcs->InsertLines(0,1); +	for (int l=0;l<2;l++) { +		EXPECT_EQ(true, pcs->GetVisible(0)); +	} +	EXPECT_EQ(0, pcs->HiddenLines()); + +	pcs->SetVisible(1, 1, false); +	EXPECT_EQ(true, pcs->GetVisible(0)); +	EXPECT_EQ(0, pcs->GetVisible(1)); +	EXPECT_EQ(1, pcs->HiddenLines()); + +	pcs->SetVisible(1, 1, true); +	for (int l=0;l<2;l++) { +		EXPECT_EQ(true, pcs->GetVisible(0)); +	} +	EXPECT_EQ(0, pcs->HiddenLines());  }  TEST_F(ContractionStateTest, Contracting) { diff --git a/test/unit/testRunStyles.cxx b/test/unit/testRunStyles.cxx index d5bf1bb08..f225ae7e2 100644 --- a/test/unit/testRunStyles.cxx +++ b/test/unit/testRunStyles.cxx @@ -28,11 +28,13 @@ protected:  TEST_F(RunStylesTest, IsEmptyInitially) {  	EXPECT_EQ(0, prs->Length()); +	EXPECT_EQ(1, prs->Runs());  }  TEST_F(RunStylesTest, SimpleInsert) {  	prs->InsertSpace(0, 1);  	EXPECT_EQ(1, prs->Length()); +	EXPECT_EQ(1, prs->Runs());  	EXPECT_EQ(0, prs->ValueAt(0));  	EXPECT_EQ(1, prs->FindNextChange(0, prs->Length()));  	EXPECT_EQ(2, prs->FindNextChange(1, prs->Length())); @@ -41,7 +43,9 @@ TEST_F(RunStylesTest, SimpleInsert) {  TEST_F(RunStylesTest, TwoRuns) {  	prs->InsertSpace(0, 2);  	EXPECT_EQ(2, prs->Length()); +	EXPECT_EQ(1, prs->Runs());  	prs->SetValueAt(0, 2); +	EXPECT_EQ(2, prs->Runs());  	EXPECT_EQ(2, prs->ValueAt(0));  	EXPECT_EQ(0, prs->ValueAt(1));  	EXPECT_EQ(1, prs->FindNextChange(0, prs->Length())); @@ -56,6 +60,7 @@ TEST_F(RunStylesTest, LongerRuns) {  	EXPECT_EQ(3, prs->ValueAt(0));  	EXPECT_EQ(3, prs->ValueAt(1));  	EXPECT_EQ(0, prs->ValueAt(2)); +	EXPECT_EQ(2, prs->Runs());  	EXPECT_EQ(0, prs->StartRun(0));  	EXPECT_EQ(2, prs->EndRun(0)); @@ -120,6 +125,12 @@ TEST_F(RunStylesTest, FillRangeAlreadyFilled) {  	EXPECT_EQ(0, prs->FillRange(startFill2, 99, lengthFill2));  	EXPECT_EQ(2, startFill2);  	EXPECT_EQ(1, lengthFill2); +	EXPECT_EQ(0, prs->ValueAt(0)); +	EXPECT_EQ(99, prs->ValueAt(1)); +	EXPECT_EQ(99, prs->ValueAt(2)); +	EXPECT_EQ(99, prs->ValueAt(3)); +	EXPECT_EQ(0, prs->ValueAt(4)); +	EXPECT_EQ(3, prs->Runs());  }  TEST_F(RunStylesTest, FillRangeAlreadyPartFilled) { @@ -135,14 +146,18 @@ TEST_F(RunStylesTest, FillRangeAlreadyPartFilled) {  	EXPECT_EQ(true, prs->FillRange(startFill2, 99, lengthFill2));  	EXPECT_EQ(3, startFill2);  	EXPECT_EQ(1, lengthFill2); +	EXPECT_EQ(3, prs->Runs());  }  TEST_F(RunStylesTest, DeleteRange) {  	prs->InsertSpace(0, 5);  	prs->SetValueAt(0, 3); +	EXPECT_EQ(2, prs->Runs());  	prs->SetValueAt(1, 3); +	EXPECT_EQ(2, prs->Runs());  	prs->DeleteRange(1, 1);  	EXPECT_EQ(4, prs->Length()); +	EXPECT_EQ(2, prs->Runs());  	EXPECT_EQ(3, prs->ValueAt(0));  	EXPECT_EQ(0, prs->ValueAt(1)); @@ -156,6 +171,88 @@ TEST_F(RunStylesTest, DeleteRange) {  	EXPECT_EQ(4, prs->EndRun(2));  } +TEST_F(RunStylesTest, Find) { +	prs->InsertSpace(0, 5); +	int startFill = 1; +	int lengthFill = 3; +	EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill)); +	EXPECT_EQ(1, startFill); +	EXPECT_EQ(3, lengthFill); + +	EXPECT_EQ(0, prs->Find(0,0)); +	EXPECT_EQ(1, prs->Find(99,0)); +	EXPECT_EQ(-1, prs->Find(3,0)); +	 +	EXPECT_EQ(4, prs->Find(0,1)); +	EXPECT_EQ(1, prs->Find(99,1)); +	EXPECT_EQ(-1, prs->Find(3,1)); +	 +	EXPECT_EQ(4, prs->Find(0,2)); +	EXPECT_EQ(2, prs->Find(99,2)); +	EXPECT_EQ(-1, prs->Find(3,2)); + +	EXPECT_EQ(4, prs->Find(0,4)); +	EXPECT_EQ(-1, prs->Find(99,4)); +	EXPECT_EQ(-1, prs->Find(3,4)); + +	EXPECT_EQ(-1, prs->Find(0,5)); +	EXPECT_EQ(-1, prs->Find(99,5)); +	EXPECT_EQ(-1, prs->Find(3,5)); + +	EXPECT_EQ(-1, prs->Find(0,6)); +	EXPECT_EQ(-1, prs->Find(99,6)); +	EXPECT_EQ(-1, prs->Find(3,6)); +} + +TEST_F(RunStylesTest, FindWithReversion) { +	prs->InsertSpace(0, 5); +	EXPECT_EQ(1, prs->Runs()); + +	int startFill = 1; +	int lengthFill = 1; +	EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill)); +	EXPECT_EQ(1, startFill); +	EXPECT_EQ(1, lengthFill); +	EXPECT_EQ(3, prs->Runs()); + +	startFill = 2; +	lengthFill = 1; +	EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill)); +	EXPECT_EQ(2, startFill); +	EXPECT_EQ(1, lengthFill); +	EXPECT_EQ(3, prs->Runs()); + +	startFill = 1; +	lengthFill = 1; +	EXPECT_EQ(true, prs->FillRange(startFill, 0, lengthFill)); +	EXPECT_EQ(3, prs->Runs()); +	EXPECT_EQ(1, lengthFill); + +	startFill = 2; +	lengthFill = 1; +	EXPECT_EQ(true, prs->FillRange(startFill, 0, lengthFill)); +	EXPECT_EQ(1, prs->Runs()); +	EXPECT_EQ(1, lengthFill); + +	EXPECT_EQ(-1, prs->Find(0,6)); +} + +TEST_F(RunStylesTest, FinalRunInversion) { +	EXPECT_EQ(1, prs->Runs()); +	prs->InsertSpace(0, 1); +	EXPECT_EQ(1, prs->Runs()); +	prs->SetValueAt(0, 1); +	EXPECT_EQ(1, prs->Runs()); +	prs->InsertSpace(1, 1); +	EXPECT_EQ(1, prs->Runs()); +	prs->SetValueAt(1, 1); +	EXPECT_EQ(1, prs->Runs()); +	prs->SetValueAt(1, 0); +	EXPECT_EQ(2, prs->Runs()); +	prs->SetValueAt(1, 1); +	EXPECT_EQ(1, prs->Runs()); +}	 +  TEST_F(RunStylesTest, DeleteAll) {  	prs->InsertSpace(0, 5);  	prs->SetValueAt(0, 3); @@ -163,5 +260,6 @@ TEST_F(RunStylesTest, DeleteAll) {  	prs->DeleteAll();  	EXPECT_EQ(0, prs->Length());  	EXPECT_EQ(0, prs->ValueAt(0)); +	EXPECT_EQ(1, prs->Runs());  } | 
