handle volume part of the path correctly in wxFileName(path, name, ext) ctor

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-11-07 20:11:42 +00:00
parent 2fb5a4ce63
commit 4c2deb19e0
3 changed files with 27 additions and 5 deletions

View File

@ -149,11 +149,7 @@ public:
void Assign(const wxString& path, void Assign(const wxString& path,
const wxString& name, const wxString& name,
const wxString& ext, const wxString& ext,
wxPathFormat format = wxPATH_NATIVE) wxPathFormat format = wxPATH_NATIVE);
{
// empty volume
Assign(wxEmptyString, path, name, ext, format);
}
void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE); void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE);

View File

@ -453,6 +453,18 @@ void wxFileName::Assign(const wxString& fullpathOrig,
Assign(volume, path, name, ext, format); Assign(volume, path, name, ext, format);
} }
void wxFileName::Assign(const wxString& pathOrig,
const wxString& name,
const wxString& ext,
wxPathFormat format)
{
wxString volume,
path;
SplitVolume(pathOrig, &volume, &path, format);
Assign(volume, path, name, ext, format);
}
void wxFileName::AssignDir(const wxString& dir, wxPathFormat format) void wxFileName::AssignDir(const wxString& dir, wxPathFormat format)
{ {
Assign(dir, _T(""), format); Assign(dir, _T(""), format);

View File

@ -116,6 +116,20 @@ void FileNameTestCase::TestConstruction()
CPPUNIT_ASSERT( fullname == fni.fullname ); CPPUNIT_ASSERT( fullname == fni.fullname );
CPPUNIT_ASSERT( fn.Normalize(wxPATH_NORM_ALL, _T(""), fni.format) ); CPPUNIT_ASSERT( fn.Normalize(wxPATH_NORM_ALL, _T(""), fni.format) );
if ( *fni.volume && *fni.path )
{
// check that specifying the volume separately or as part of the
// path doesn't make any difference
wxString pathWithVolume = fni.volume;
pathWithVolume += wxFileName::GetVolumeSeparator(fni.format);
pathWithVolume += fni.path;
CPPUNIT_ASSERT( fn == wxFileName(pathWithVolume,
fni.name,
fni.ext,
fni.format) );
}
} }
} }