Don't use standard menu ids in the unit test to avoid Mac problems.
wxOSX rearranges the standard menu items such as wxID_EXIT and wxID_ABOUT and, for the former, changes its text to "Quit", so don't use them in the menu unit test which expects to find the items in the menus to which they were added and exactly with the labels used when adding them. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
42b4e5cd2a
commit
f8314f3c20
@ -33,9 +33,9 @@ namespace
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
MenuTestCase_Quit = wxID_EXIT,
|
MenuTestCase_Foo = 10000,
|
||||||
MenuTestCase_About = wxID_ABOUT,
|
MenuTestCase_Bar,
|
||||||
MenuTestCase_First = 10000
|
MenuTestCase_First
|
||||||
};
|
};
|
||||||
|
|
||||||
void PopulateMenu(wxMenu* menu, const wxString& name, size_t& itemcount)
|
void PopulateMenu(wxMenu* menu, const wxString& name, size_t& itemcount)
|
||||||
@ -137,16 +137,15 @@ void MenuTestCase::CreateFrame()
|
|||||||
subMenu->AppendSubMenu(subsubMenu, "Subsubmen&u", "Test a subsubmenu");
|
subMenu->AppendSubMenu(subsubMenu, "Subsubmen&u", "Test a subsubmenu");
|
||||||
|
|
||||||
PopulateMenu(fileMenu, "Filemenu item ", itemcount);
|
PopulateMenu(fileMenu, "Filemenu item ", itemcount);
|
||||||
// Add a 'real' item too, for future tests
|
|
||||||
fileMenu->Append(MenuTestCase_Quit, "E&xit\tAlt-X", "Quit this program");
|
fileMenu->Append(MenuTestCase_Foo, "&Foo\tCtrl-F", "Test item to be found");
|
||||||
|
|
||||||
|
|
||||||
PopulateMenu(helpMenu, "Helpmenu item ", itemcount);
|
PopulateMenu(helpMenu, "Helpmenu item ", itemcount);
|
||||||
helpMenu->Append(MenuTestCase_About, "&About...\tF1",
|
helpMenu->Append(MenuTestCase_Bar, "Bar");
|
||||||
"(Would normally) Show about dialog");
|
|
||||||
helpMenu->AppendSubMenu(subMenu, "Sub&menu", "Test a submenu");
|
helpMenu->AppendSubMenu(subMenu, "Sub&menu", "Test a submenu");
|
||||||
|
|
||||||
// +2 for E&xit and &About, +2 for the 2 submenus
|
// +2 for "Foo" and "Bar", +2 for the 2 submenus
|
||||||
m_itemCount = itemcount + 4;
|
m_itemCount = itemcount + 4;
|
||||||
|
|
||||||
// Use an arraystring here, to help with future tests
|
// Use an arraystring here, to help with future tests
|
||||||
@ -169,13 +168,13 @@ void MenuTestCase::FindInMenubar()
|
|||||||
CPPUNIT_ASSERT( bar->FindMenu("&Fail") == wxNOT_FOUND );
|
CPPUNIT_ASSERT( bar->FindMenu("&Fail") == wxNOT_FOUND );
|
||||||
|
|
||||||
// Find by menu name plus item name:
|
// Find by menu name plus item name:
|
||||||
CPPUNIT_ASSERT( bar->FindMenuItem("File", "Exit") != wxNOT_FOUND );
|
CPPUNIT_ASSERT( bar->FindMenuItem("File", "Foo") != wxNOT_FOUND );
|
||||||
CPPUNIT_ASSERT( bar->FindMenuItem("&File", "E&xit") != wxNOT_FOUND );
|
CPPUNIT_ASSERT( bar->FindMenuItem("&File", "&Foo") != wxNOT_FOUND );
|
||||||
// and using the menu title
|
// and using the menu title
|
||||||
int index = bar->FindMenu("&File");
|
int index = bar->FindMenu("&File");
|
||||||
CPPUNIT_ASSERT( index != wxNOT_FOUND );
|
CPPUNIT_ASSERT( index != wxNOT_FOUND );
|
||||||
wxString menutitle = bar->GetMenuLabel(index);
|
wxString menutitle = bar->GetMenuLabel(index);
|
||||||
CPPUNIT_ASSERT( bar->FindMenuItem(menutitle, "E&xit") != wxNOT_FOUND );
|
CPPUNIT_ASSERT( bar->FindMenuItem(menutitle, "&Foo") != wxNOT_FOUND );
|
||||||
|
|
||||||
// Find by position:
|
// Find by position:
|
||||||
for (size_t n=0; n < bar->GetMenuCount(); ++n)
|
for (size_t n=0; n < bar->GetMenuCount(); ++n)
|
||||||
@ -186,11 +185,11 @@ void MenuTestCase::FindInMenubar()
|
|||||||
// Find by id:
|
// Find by id:
|
||||||
wxMenu* menu = NULL;
|
wxMenu* menu = NULL;
|
||||||
wxMenuItem* item = NULL;
|
wxMenuItem* item = NULL;
|
||||||
item = bar->FindItem(MenuTestCase_Quit, &menu);
|
item = bar->FindItem(MenuTestCase_Foo, &menu);
|
||||||
CPPUNIT_ASSERT( item );
|
CPPUNIT_ASSERT( item );
|
||||||
CPPUNIT_ASSERT( menu );
|
CPPUNIT_ASSERT( menu );
|
||||||
// Check that the correct menu was found
|
// Check that the correct menu was found
|
||||||
CPPUNIT_ASSERT( menu->FindChildItem(MenuTestCase_Quit) );
|
CPPUNIT_ASSERT( menu->FindChildItem(MenuTestCase_Foo) );
|
||||||
|
|
||||||
// Find submenu item:
|
// Find submenu item:
|
||||||
item = bar->FindItem(m_submenuItemId, &menu);
|
item = bar->FindItem(m_submenuItemId, &menu);
|
||||||
@ -208,8 +207,8 @@ void MenuTestCase::FindInMenu()
|
|||||||
|
|
||||||
// Find by name:
|
// Find by name:
|
||||||
wxMenu* menuFind = bar->GetMenu(0);
|
wxMenu* menuFind = bar->GetMenu(0);
|
||||||
CPPUNIT_ASSERT( menuFind->FindItem("Exit") != wxNOT_FOUND );
|
CPPUNIT_ASSERT( menuFind->FindItem("Foo") != wxNOT_FOUND );
|
||||||
CPPUNIT_ASSERT( menuFind->FindItem("E&xit") != wxNOT_FOUND );
|
CPPUNIT_ASSERT( menuFind->FindItem("&Foo") != wxNOT_FOUND );
|
||||||
// and for submenus
|
// and for submenus
|
||||||
wxMenu* menuHelp = bar->GetMenu(1);
|
wxMenu* menuHelp = bar->GetMenu(1);
|
||||||
CPPUNIT_ASSERT( menuHelp->FindItem("Submenu") != wxNOT_FOUND );
|
CPPUNIT_ASSERT( menuHelp->FindItem("Submenu") != wxNOT_FOUND );
|
||||||
@ -222,8 +221,8 @@ void MenuTestCase::FindInMenu()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Find by id:
|
// Find by id:
|
||||||
CPPUNIT_ASSERT( menuHelp->FindItem(MenuTestCase_About) );
|
CPPUNIT_ASSERT( menuHelp->FindItem(MenuTestCase_Bar) );
|
||||||
CPPUNIT_ASSERT( menuHelp->FindItem(MenuTestCase_Quit) == NULL );
|
CPPUNIT_ASSERT( menuHelp->FindItem(MenuTestCase_Foo) == NULL );
|
||||||
|
|
||||||
for (size_t n=0; n < menuHelp->GetMenuItemCount(); ++n)
|
for (size_t n=0; n < menuHelp->GetMenuItemCount(); ++n)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user