X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/497c7dffd1554afd075bef81c73b40a841b8a98d..c1099d92544fb97cb230248e50cf0c81a2633cdd:/tests/controls/listctrltest.cpp diff --git a/tests/controls/listctrltest.cpp b/tests/controls/listctrltest.cpp index 501d547f65..5e615eb283 100644 --- a/tests/controls/listctrltest.cpp +++ b/tests/controls/listctrltest.cpp @@ -40,11 +40,13 @@ private: #ifdef wxHAS_LISTCTRL_COLUMN_ORDER CPPUNIT_TEST( ColumnsOrder ); #endif // wxHAS_LISTCTRL_COLUMN_ORDER + CPPUNIT_TEST( ItemRect ); CPPUNIT_TEST_SUITE_END(); #ifdef wxHAS_LISTCTRL_COLUMN_ORDER void ColumnsOrder(); #endif // wxHAS_LISTCTRL_COLUMN_ORDER + void ItemRect(); wxListCtrl *m_list; @@ -64,6 +66,7 @@ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ListCtrlTestCase, "ListCtrlTestCase" ); void ListCtrlTestCase::setUp() { m_list = new wxListCtrl(wxTheApp->GetTopWindow()); + m_list->SetWindowStyle(wxLC_REPORT); } void ListCtrlTestCase::tearDown() @@ -142,3 +145,33 @@ void ListCtrlTestCase::ColumnsOrder() } #endif // wxHAS_LISTCTRL_COLUMN_ORDER + +void ListCtrlTestCase::ItemRect() +{ + // set up for the test + m_list->InsertColumn(0, "Column 0", wxLIST_FORMAT_LEFT, 60); + m_list->InsertColumn(1, "Column 1", wxLIST_FORMAT_LEFT, 50); + m_list->InsertColumn(2, "Column 2", wxLIST_FORMAT_LEFT, 40); + + m_list->InsertItem(0, "Item 0"); + m_list->SetItem(0, 1, "first column"); + m_list->SetItem(0, 1, "second column"); + + // do test + wxRect r; + WX_ASSERT_FAILS_WITH_ASSERT( m_list->GetItemRect(1, r) ); + CPPUNIT_ASSERT( m_list->GetItemRect(0, r) ); + CPPUNIT_ASSERT_EQUAL( 150, r.GetWidth() ); + + CPPUNIT_ASSERT( m_list->GetSubItemRect(0, 0, r) ); + CPPUNIT_ASSERT_EQUAL( 60, r.GetWidth() ); + + CPPUNIT_ASSERT( m_list->GetSubItemRect(0, 1, r) ); + CPPUNIT_ASSERT_EQUAL( 50, r.GetWidth() ); + + CPPUNIT_ASSERT( m_list->GetSubItemRect(0, 2, r) ); + CPPUNIT_ASSERT_EQUAL( 40, r.GetWidth() ); + + WX_ASSERT_FAILS_WITH_ASSERT( m_list->GetSubItemRect(0, 3, r) ); +} +