Add a generic wxExpectAny helper class for GUI testing.

This is similar to the existing wxExpectModal<wxMessageDialog>, but can be
used to dismiss any dialog for which it's just enough to press some button,
not just wxMessageDialog.

It's convenient to use it as

	wxTEST_DIALOG(wxYield(), wxExpectAny(wxID_OK));

if some custom dialog which can be safely dismissed is expected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2014-09-10 16:51:30 +00:00
parent b488f468a3
commit c5f557cd3a

View File

@@ -117,11 +117,11 @@ protected:
// wxExpectModal<T> specializations for common dialogs: // wxExpectModal<T> specializations for common dialogs:
template<> template<class T>
class wxExpectModal<wxMessageDialog> : public wxExpectModalBase<wxMessageDialog> class wxExpectDismissableModal : public wxExpectModalBase<T>
{ {
public: public:
wxExpectModal(int id) explicit wxExpectDismissableModal(int id)
{ {
switch ( id ) switch ( id )
{ {
@@ -147,7 +147,7 @@ public:
} }
protected: protected:
virtual int OnInvoked(wxMessageDialog *WXUNUSED(dlg)) const virtual int OnInvoked(T *WXUNUSED(dlg)) const
{ {
return m_id; return m_id;
} }
@@ -155,6 +155,26 @@ protected:
int m_id; int m_id;
}; };
template<>
class wxExpectModal<wxMessageDialog>
: public wxExpectDismissableModal<wxMessageDialog>
{
public:
explicit wxExpectModal(int id)
: wxExpectDismissableModal<wxMessageDialog>(id)
{
}
};
class wxExpectAny : public wxExpectDismissableModal<wxDialog>
{
public:
explicit wxExpectAny(int id)
: wxExpectDismissableModal<wxDialog>(id)
{
}
};
#if wxUSE_FILEDLG #if wxUSE_FILEDLG
template<> template<>