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
|
#ifndef WX_PRECOMP
|
||||||
#include "wx/gdicmn.h"
|
#include "wx/gdicmn.h"
|
||||||
|
#include "wx/filefn.h"
|
||||||
#endif // !PCH
|
#endif // !PCH
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
@@ -38,10 +39,12 @@ private:
|
|||||||
CPPUNIT_TEST_SUITE( MiscGUIFuncsTestCase );
|
CPPUNIT_TEST_SUITE( MiscGUIFuncsTestCase );
|
||||||
CPPUNIT_TEST( DisplaySize );
|
CPPUNIT_TEST( DisplaySize );
|
||||||
CPPUNIT_TEST( URLDataObject );
|
CPPUNIT_TEST( URLDataObject );
|
||||||
|
CPPUNIT_TEST( ParseFileDialogFilter );
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
void DisplaySize();
|
void DisplaySize();
|
||||||
void URLDataObject();
|
void URLDataObject();
|
||||||
|
void ParseFileDialogFilter();
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(MiscGUIFuncsTestCase)
|
DECLARE_NO_COPY_CLASS(MiscGUIFuncsTestCase)
|
||||||
};
|
};
|
||||||
@@ -88,3 +91,41 @@ void MiscGUIFuncsTestCase::URLDataObject()
|
|||||||
wxTheClipboard->Flush();
|
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