Add a simple unit test for wxParseCommonDialogsFilter().
Verify that this function (which is used for parsing the wildcard strings used with file-related dialogs) works as expected and also asserts when given invalid input. See #4489. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/gdicmn.h"
|
||||
#include "wx/filefn.h"
|
||||
#endif // !PCH
|
||||
|
||||
#include "wx/defs.h"
|
||||
@@ -38,10 +39,12 @@ private:
|
||||
CPPUNIT_TEST_SUITE( MiscGUIFuncsTestCase );
|
||||
CPPUNIT_TEST( DisplaySize );
|
||||
CPPUNIT_TEST( URLDataObject );
|
||||
CPPUNIT_TEST( ParseFileDialogFilter );
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
void DisplaySize();
|
||||
void URLDataObject();
|
||||
void ParseFileDialogFilter();
|
||||
|
||||
DECLARE_NO_COPY_CLASS(MiscGUIFuncsTestCase)
|
||||
};
|
||||
@@ -88,3 +91,41 @@ void MiscGUIFuncsTestCase::URLDataObject()
|
||||
wxTheClipboard->Flush();
|
||||
}
|
||||
|
||||
void MiscGUIFuncsTestCase::ParseFileDialogFilter()
|
||||
{
|
||||
wxArrayString descs,
|
||||
filters;
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL
|
||||
(
|
||||
1,
|
||||
wxParseCommonDialogsFilter("Image files|*.jpg;*.png", descs, filters)
|
||||
);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( "Image files", descs[0] );
|
||||
CPPUNIT_ASSERT_EQUAL( "*.jpg;*.png", filters[0] );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL
|
||||
(
|
||||
2,
|
||||
wxParseCommonDialogsFilter
|
||||
(
|
||||
"All files (*.*)|*.*|Python source (*.py)|*.py",
|
||||
descs, filters
|
||||
)
|
||||
);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( "*.*", filters[0] );
|
||||
CPPUNIT_ASSERT_EQUAL( "*.py", filters[1] );
|
||||
|
||||
// Test some invalid ones too.
|
||||
WX_ASSERT_FAILS_WITH_ASSERT
|
||||
(
|
||||
wxParseCommonDialogsFilter
|
||||
(
|
||||
"All files (*.*)|*.*|Python source (*.py)|*.py|",
|
||||
descs, filters
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user