From bf5be68510dc827ef18b1f1ecd95998b8ce2f0a8 Mon Sep 17 00:00:00 2001 From: Ilya Sinitsyn Date: Tue, 28 Jan 2020 23:53:26 +0700 Subject: [PATCH] Test wxGrid scrolling when selecting cells. --- tests/controls/gridtest.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/controls/gridtest.cpp b/tests/controls/gridtest.cpp index f38c0c48bf..e9489adde4 100644 --- a/tests/controls/gridtest.cpp +++ b/tests/controls/gridtest.cpp @@ -73,6 +73,7 @@ private: WXUISIM_TEST( RangeSelect ); CPPUNIT_TEST( Cursor ); CPPUNIT_TEST( Selection ); + CPPUNIT_TEST( ScrollWhenSelect ); CPPUNIT_TEST( AddRowCol ); CPPUNIT_TEST( DeleteAndAddRowCol ); CPPUNIT_TEST( ColumnOrder ); @@ -114,6 +115,7 @@ private: void RangeSelect(); void Cursor(); void Selection(); + void ScrollWhenSelect(); void AddRowCol(); void DeleteAndAddRowCol(); void ColumnOrder(); @@ -594,6 +596,30 @@ void GridTestCase::Selection() CPPUNIT_ASSERT(!m_grid->IsInSelection(3, 0)); } +void GridTestCase::ScrollWhenSelect() +{ + m_grid->AppendCols(10); + + REQUIRE( m_grid->GetGridCursorCol() == 0 ); + REQUIRE( m_grid->GetGridCursorRow() == 0 ); + REQUIRE( m_grid->IsVisible(0, 0) ); + REQUIRE( !m_grid->IsVisible(0, 4) ); + + for ( int i = 0; i < 4; ++i ) + { + m_grid->MoveCursorRight(true); + } + CHECK( m_grid->IsVisible(0, 4) ); + + m_grid->ClearSelection(); + m_grid->SetGridCursor(1, 1); + for ( int i = 0; i < 5; ++i ) + { + m_grid->MoveCursorDown(true); + } + CHECK( m_grid->IsVisible(6, 1) ); +} + void GridTestCase::AddRowCol() { CPPUNIT_ASSERT_EQUAL(10, m_grid->GetNumberRows());