private:
CPPUNIT_TEST_SUITE( FileNameTestCase );
CPPUNIT_TEST( TestConstruction );
+ CPPUNIT_TEST( TestComparison );
CPPUNIT_TEST( TestSplit );
CPPUNIT_TEST( TestSetPath );
CPPUNIT_TEST( TestStrip );
+#ifdef __WINDOWS__
+ CPPUNIT_TEST( TestShortLongPath );
+#endif // __WINDOWS__
CPPUNIT_TEST_SUITE_END();
void TestConstruction();
+ void TestComparison();
void TestSplit();
void TestSetPath();
void TestStrip();
+#ifdef __WINDOWS__
+ void TestShortLongPath();
+#endif // __WINDOWS__
DECLARE_NO_COPY_CLASS(FileNameTestCase)
};
}
}
+void FileNameTestCase::TestComparison()
+{
+ wxFileName fn1(wxT("/tmp/file1"));
+ wxFileName fn2(wxT("/tmp/dir2/../file2"));
+ fn1.Normalize();
+ fn2.Normalize();
+ CPPUNIT_ASSERT(fn1.GetPath() == fn2.GetPath());
+
+}
+
void FileNameTestCase::TestSplit()
{
for ( size_t n = 0; n < WXSIZEOF(filenames); n++ )
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__