X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c08dd08b3e68a09e8915b1ec30b6309fe80e22dc..bf473da729e2be34f890d8b9c9af4a4143f1647b:/tests/filename/filenametest.cpp?ds=sidebyside diff --git a/tests/filename/filenametest.cpp b/tests/filename/filenametest.cpp index fe5667b536..27ad3ae870 100644 --- a/tests/filename/filenametest.cpp +++ b/tests/filename/filenametest.cpp @@ -89,12 +89,18 @@ private: CPPUNIT_TEST( TestSplit ); CPPUNIT_TEST( TestSetPath ); CPPUNIT_TEST( TestStrip ); +#ifdef __WINDOWS__ + CPPUNIT_TEST( TestShortLongPath ); +#endif // __WINDOWS__ CPPUNIT_TEST_SUITE_END(); void TestConstruction(); void TestSplit(); void TestSetPath(); void TestStrip(); +#ifdef __WINDOWS__ + void TestShortLongPath(); +#endif // __WINDOWS__ DECLARE_NO_COPY_CLASS(FileNameTestCase) }; @@ -148,6 +154,10 @@ void FileNameTestCase::TestSplit() CPPUNIT_ASSERT( name == fni.name ); CPPUNIT_ASSERT( ext == fni.ext ); } + + // special case of empty extension + wxFileName fn(_T("foo.")); + CPPUNIT_ASSERT( fn.GetFullPath() == _T("foo.") ); } void FileNameTestCase::TestSetPath() @@ -161,7 +171,7 @@ void FileNameTestCase::TestSetPath() CPPUNIT_ASSERT( fn.SameAs(wxFileName(_T("/usr/local/bin/ls"), wxPATH_UNIX)) ); } -wxString wxGetRealFile(wxString szFile) +wxString wxTestStripExtension(wxString szFile) { wxStripExtension(szFile); return szFile; @@ -170,11 +180,25 @@ wxString wxGetRealFile(wxString szFile) void FileNameTestCase::TestStrip() { //test a crash - CPPUNIT_ASSERT( wxGetRealFile( _T("") ) == _T("") ); + CPPUNIT_ASSERT( wxTestStripExtension( _T("") ) == _T("") ); //others - CPPUNIT_ASSERT( wxGetRealFile( _T(".") ) == _T("") ); - CPPUNIT_ASSERT( wxGetRealFile( _T(".wav") ) == _T("") ); - CPPUNIT_ASSERT( wxGetRealFile( _T("good.wav") ) == _T("good") ); - CPPUNIT_ASSERT( wxGetRealFile( _T("good.wav.wav") ) == _T("good.wav") ); -} \ No newline at end of file + CPPUNIT_ASSERT( wxTestStripExtension( _T(".") ) == _T("") ); + CPPUNIT_ASSERT( wxTestStripExtension( _T(".wav") ) == _T("") ); + CPPUNIT_ASSERT( wxTestStripExtension( _T("good.wav") ) == _T("good") ); + CPPUNIT_ASSERT( wxTestStripExtension( _T("good.wav.wav") ) == _T("good.wav") ); +} + +#ifdef __WINDOWS__ + +void FileNameTestCase::TestShortLongPath() +{ + wxFileName fn(_T("C:\\Program Files\\Windows NT\\Accessories\\wordpad.exe")); + + // incredibly enough, GetLongPath() used to return different results during + // the first and subsequent runs, test for this + CPPUNIT_ASSERT_EQUAL( fn.GetLongPath(), fn.GetLongPath() ); + CPPUNIT_ASSERT_EQUAL( fn.GetShortPath(), fn.GetShortPath() ); +} + +#endif // __WINDOWS__