X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a6c4ae18baa44623303624c19adab8cb7bbb8b25..830c06655b226cfe9fe55d57da8c948d1744107c:/tests/controls/itemcontainertest.cpp?ds=sidebyside diff --git a/tests/controls/itemcontainertest.cpp b/tests/controls/itemcontainertest.cpp index ad0d8982cc..48944ad0a8 100644 --- a/tests/controls/itemcontainertest.cpp +++ b/tests/controls/itemcontainertest.cpp @@ -105,22 +105,27 @@ void ItemContainerTestCase::ItemSelection() testitems.Add("item 0"); testitems.Add("item 1"); testitems.Add("item 2"); - testitems.Add("item 3"); + testitems.Add("ITEM 2"); // The same as the last one except for case. container->Append(testitems); container->SetSelection(wxNOT_FOUND); - CPPUNIT_ASSERT_EQUAL(wxNOT_FOUND, container->GetSelection()); CPPUNIT_ASSERT_EQUAL("", container->GetStringSelection()); container->SetSelection(1); - CPPUNIT_ASSERT_EQUAL(1, container->GetSelection()); CPPUNIT_ASSERT_EQUAL("item 1", container->GetStringSelection()); - container->SetStringSelection("item 2"); + CPPUNIT_ASSERT( container->SetStringSelection("item 2") ); + CPPUNIT_ASSERT_EQUAL(2, container->GetSelection()); + CPPUNIT_ASSERT_EQUAL("item 2", container->GetStringSelection()); + + // Check that selecting a non-existent item fails. + CPPUNIT_ASSERT( !container->SetStringSelection("bloordyblop") ); + // Check that SetStringSelection() is case-insensitive. + CPPUNIT_ASSERT( container->SetStringSelection("ITEM 2") ); CPPUNIT_ASSERT_EQUAL(2, container->GetSelection()); CPPUNIT_ASSERT_EQUAL("item 2", container->GetStringSelection()); } @@ -165,6 +170,9 @@ void ItemContainerTestCase::ClientData() CPPUNIT_ASSERT_EQUAL(static_cast(item2data), container->GetClientObject(2)); + + WX_ASSERT_FAILS_WITH_ASSERT( container->SetClientObject((unsigned)-1, item0data) ); + WX_ASSERT_FAILS_WITH_ASSERT( container->SetClientObject(12345, item0data) ); } void ItemContainerTestCase::VoidData() @@ -190,6 +198,9 @@ void ItemContainerTestCase::VoidData() container->Insert("item 2", 2, item2); CPPUNIT_ASSERT_EQUAL(item2, container->GetClientData(2)); + + WX_ASSERT_FAILS_WITH_ASSERT( container->SetClientData((unsigned)-1, NULL) ); + WX_ASSERT_FAILS_WITH_ASSERT( container->SetClientData(12345, NULL) ); } void ItemContainerTestCase::Set() @@ -233,13 +244,16 @@ void ItemContainerTestCase::SetString() container->Append(testitems); + container->SetSelection(0); container->SetString(0, "new item 0"); -#ifndef __WXOSX__ - container->SetString(2, ""); -#endif - CPPUNIT_ASSERT_EQUAL("new item 0", container->GetString(0)); + + // Modifying the item shouldn't deselect it. + CPPUNIT_ASSERT_EQUAL(0, container->GetSelection()); + + // wxOSX doesn't support having empty items in some containers. #ifndef __WXOSX__ + container->SetString(2, ""); CPPUNIT_ASSERT_EQUAL("", container->GetString(2)); #endif }