X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50e08f9d2ffe18437dce14a5b8cc5385f5e51e80..cc14bd00586cb5107f39c77704163e847cdb2e01:/tests/misc/misctests.cpp diff --git a/tests/misc/misctests.cpp b/tests/misc/misctests.cpp index 3ead0b38ec..9e42f1cca3 100644 --- a/tests/misc/misctests.cpp +++ b/tests/misc/misctests.cpp @@ -20,6 +20,10 @@ #include "wx/defs.h" +// just some classes using wxRTTI for wxStaticCast() test +#include "wx/tarstrm.h" +#include "wx/zipstrm.h" + // ---------------------------------------------------------------------------- // test class // ---------------------------------------------------------------------------- @@ -33,10 +37,12 @@ private: CPPUNIT_TEST_SUITE( MiscTestCase ); CPPUNIT_TEST( Assert ); CPPUNIT_TEST( Delete ); + CPPUNIT_TEST( StaticCast ); CPPUNIT_TEST_SUITE_END(); void Assert(); void Delete(); + void StaticCast(); DECLARE_NO_COPY_CLASS(MiscTestCase) }; @@ -93,3 +99,19 @@ void MiscTestCase::Delete() #endif } +void MiscTestCase::StaticCast() +{ + wxTarEntry tarEntry; + CPPUNIT_ASSERT( wxStaticCast(&tarEntry, wxArchiveEntry) ); + + wxArchiveEntry *entry = &tarEntry; + CPPUNIT_ASSERT( wxStaticCast(entry, wxTarEntry) ); + + wxZipEntry zipEntry; + entry = &zipEntry; + CPPUNIT_ASSERT( wxStaticCast(entry, wxZipEntry) ); + + WX_ASSERT_FAILS_WITH_ASSERT( wxStaticCast(entry, wxTarEntry) ); + WX_ASSERT_FAILS_WITH_ASSERT( wxStaticCast(&zipEntry, wxTarEntry) ); +} +