X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/880706beddf267622063e628f548cf6bcc49f42a..0738b901b17340f09766524b8d9d79e9ed1268e7:/tests/controls/listctrltest.cpp diff --git a/tests/controls/listctrltest.cpp b/tests/controls/listctrltest.cpp index 6c88105420..6f591e0ef0 100644 --- a/tests/controls/listctrltest.cpp +++ b/tests/controls/listctrltest.cpp @@ -41,12 +41,14 @@ private: CPPUNIT_TEST( ColumnsOrder ); #endif // wxHAS_LISTCTRL_COLUMN_ORDER CPPUNIT_TEST( ItemRect ); + CPPUNIT_TEST( ChangeMode ); CPPUNIT_TEST_SUITE_END(); #ifdef wxHAS_LISTCTRL_COLUMN_ORDER void ColumnsOrder(); #endif // wxHAS_LISTCTRL_COLUMN_ORDER void ItemRect(); + void ChangeMode(); wxListCtrl *m_list; @@ -83,12 +85,13 @@ void ListCtrlTestCase::tearDown() void ListCtrlTestCase::ColumnsOrder() { - static const int NUM_COLS; int n; wxListItem li; li.SetMask(wxLIST_MASK_TEXT); // first set up some columns + static const int NUM_COLS = 3; + m_list->InsertColumn(0, "Column 0"); m_list->InsertColumn(1, "Column 1"); m_list->InsertColumn(2, "Column 2"); @@ -159,7 +162,7 @@ void ListCtrlTestCase::ItemRect() // do test wxRect r; - //CPPUNIT_ASSERT( !m_list->GetItemRect(1, r) ); this asserts as item #1 does not exist + WX_ASSERT_FAILS_WITH_ASSERT( m_list->GetItemRect(1, r) ); CPPUNIT_ASSERT( m_list->GetItemRect(0, r) ); CPPUNIT_ASSERT_EQUAL( 150, r.GetWidth() ); @@ -175,3 +178,21 @@ void ListCtrlTestCase::ItemRect() WX_ASSERT_FAILS_WITH_ASSERT( m_list->GetSubItemRect(0, 3, r) ); } +void ListCtrlTestCase::ChangeMode() +{ + m_list->InsertColumn(0, "Header"); + m_list->InsertItem(0, "First"); + m_list->InsertItem(1, "Second"); + CPPUNIT_ASSERT_EQUAL( 2, m_list->GetItemCount() ); + + // check that switching the mode preserves the items + m_list->SetWindowStyle(wxLC_ICON); + CPPUNIT_ASSERT_EQUAL( 2, m_list->GetItemCount() ); + CPPUNIT_ASSERT_EQUAL( "First", m_list->GetItemText(0) ); + + // and so does switching back + m_list->SetWindowStyle(wxLC_REPORT); + CPPUNIT_ASSERT_EQUAL( 2, m_list->GetItemCount() ); + CPPUNIT_ASSERT_EQUAL( "First", m_list->GetItemText(0) ); +} +