]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/controls/listctrltest.cpp
Added (sanity) checks for the inplace allocation
[wxWidgets.git] / tests / controls / listctrltest.cpp
index c1920461c9b11aac07f3cd226f3789c37d623b7a..93f0756a74047fe066cac277b67789da484e2622 100644 (file)
@@ -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) );
+}
+