X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0ccc082e2b164170c29929012b12dc81fb35165..85615340856e9a41cb28eaa6ebf12f4945b78b4b:/tests/controls/listctrltest.cpp diff --git a/tests/controls/listctrltest.cpp b/tests/controls/listctrltest.cpp index c1920461c9..93f0756a74 100644 --- a/tests/controls/listctrltest.cpp +++ b/tests/controls/listctrltest.cpp @@ -41,12 +41,16 @@ private: CPPUNIT_TEST( ColumnsOrder ); #endif // wxHAS_LISTCTRL_COLUMN_ORDER CPPUNIT_TEST( ItemRect ); + CPPUNIT_TEST( ItemText ); + CPPUNIT_TEST( ChangeMode ); CPPUNIT_TEST_SUITE_END(); #ifdef wxHAS_LISTCTRL_COLUMN_ORDER void ColumnsOrder(); #endif // wxHAS_LISTCTRL_COLUMN_ORDER void ItemRect(); + void ItemText(); + void ChangeMode(); wxListCtrl *m_list; @@ -83,12 +87,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 +164,7 @@ void ListCtrlTestCase::ItemRect() // do test wxRect r; - CPPUNIT_ASSERT( !m_list->GetItemRect(1, r) ); + 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 +180,34 @@ void ListCtrlTestCase::ItemRect() WX_ASSERT_FAILS_WITH_ASSERT( m_list->GetSubItemRect(0, 3, r) ); } +void ListCtrlTestCase::ItemText() +{ + m_list->InsertColumn(0, "First"); + m_list->InsertColumn(1, "Second"); + + m_list->InsertItem(0, "0,0"); + CPPUNIT_ASSERT_EQUAL( "0,0", m_list->GetItemText(0) ); + CPPUNIT_ASSERT_EQUAL( "", m_list->GetItemText(0, 1) ); + + m_list->SetItem(0, 1, "0,1"); + CPPUNIT_ASSERT_EQUAL( "0,1", m_list->GetItemText(0, 1) ); +} + +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) ); +} +