#include "wx/msw/registry.h"
#endif // __WXMSW__
-// ----------------------------------------------------------------------------
-// local functions
-// ----------------------------------------------------------------------------
-
-// define stream inserter for wxFileName to use it in CPPUNIT_ASSERT_EQUAL()
-inline std::ostream& operator<<(std::ostream& o, const wxFileName& fn)
-{
- return o << fn.GetFullPath();
-}
+#include "testfile.h"
// ----------------------------------------------------------------------------
// test data
#ifdef __WINDOWS__
CPPUNIT_TEST( TestShortLongPath );
#endif // __WINDOWS__
+ CPPUNIT_TEST( TestUNC );
CPPUNIT_TEST_SUITE_END();
void TestConstruction();
#ifdef __WINDOWS__
void TestShortLongPath();
#endif // __WINDOWS__
+ void TestUNC();
DECLARE_NO_COPY_CLASS(FileNameTestCase)
};
// test wxPATH_NORM_DOTS
{ "a/.././b/c/../../", wxPATH_NORM_DOTS, "", wxPATH_UNIX },
+ { "./", wxPATH_NORM_DOTS, "", wxPATH_UNIX },
+ { "b/../", wxPATH_NORM_DOTS, "", wxPATH_UNIX },
// test wxPATH_NORM_TILDE: notice that ~ is only interpreted specially
// when it is the first character in the file name
}
#endif // __WINDOWS__
+
+void FileNameTestCase::TestUNC()
+{
+ wxFileName fn("//share/path/name.ext", wxPATH_DOS);
+ CPPUNIT_ASSERT_EQUAL( "share", fn.GetVolume() );
+ CPPUNIT_ASSERT_EQUAL( "\\path", fn.GetPath(wxPATH_NO_SEPARATOR, wxPATH_DOS) );
+
+ fn.Assign("\\\\share2\\path2\\name.ext", wxPATH_DOS);
+ CPPUNIT_ASSERT_EQUAL( "share2", fn.GetVolume() );
+ CPPUNIT_ASSERT_EQUAL( "\\path2", fn.GetPath(wxPATH_NO_SEPARATOR, wxPATH_DOS) );
+}
+