X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7b611a3ae9e5f258dbe18383783b975263a9aa58..6df26ddbf7eb563e66bee2313e71d1c0241b351a:/tests/filename/filenametest.cpp?ds=sidebyside diff --git a/tests/filename/filenametest.cpp b/tests/filename/filenametest.cpp index 8039d2f80b..c1a9c5e6d4 100644 --- a/tests/filename/filenametest.cpp +++ b/tests/filename/filenametest.cpp @@ -69,6 +69,10 @@ static struct TestFileNameInfo { "c:foo.bar", "c", "", "foo", "bar", false, wxPATH_DOS }, { "c:\\foo.bar", "c", "\\", "foo", "bar", true, wxPATH_DOS }, { "c:\\Windows\\command.com", "c", "\\Windows", "command", "com", true, wxPATH_DOS }, + { "\\\\?\\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\\", + "Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}", "\\", "", "", true, wxPATH_DOS }, + { "\\\\?\\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\\Program Files\\setup.exe", + "Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}", "\\Program Files", "setup", "exe", true, wxPATH_DOS }, #if 0 // NB: when using the wxFileName::GetLongPath() function on these two @@ -125,6 +129,7 @@ private: CPPUNIT_TEST( TestShortLongPath ); #endif // __WINDOWS__ CPPUNIT_TEST( TestUNC ); + CPPUNIT_TEST( TestVolumeUniqueName ); CPPUNIT_TEST_SUITE_END(); void TestConstruction(); @@ -138,6 +143,7 @@ private: void TestShortLongPath(); #endif // __WINDOWS__ void TestUNC(); + void TestVolumeUniqueName(); DECLARE_NO_COPY_CLASS(FileNameTestCase) }; @@ -500,10 +506,30 @@ void FileNameTestCase::TestUNC() { wxFileName fn("//share/path/name.ext", wxPATH_DOS); CPPUNIT_ASSERT_EQUAL( "share", fn.GetVolume() ); - CPPUNIT_ASSERT_EQUAL( "/path", fn.GetPath() ); + 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() ); + CPPUNIT_ASSERT_EQUAL( "\\path2", fn.GetPath(wxPATH_NO_SEPARATOR, wxPATH_DOS) ); } +void FileNameTestCase::TestVolumeUniqueName() +{ + wxFileName fn("\\\\?\\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\\", + wxPATH_DOS); + CPPUNIT_ASSERT_EQUAL( "Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}", + fn.GetVolume() ); + CPPUNIT_ASSERT_EQUAL( "\\", fn.GetPath(wxPATH_NO_SEPARATOR, wxPATH_DOS) ); + CPPUNIT_ASSERT_EQUAL( "\\\\?\\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\\", + fn.GetFullPath(wxPATH_DOS) ); + + fn.Assign("\\\\?\\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\\" + "Program Files\\setup.exe", wxPATH_DOS); + CPPUNIT_ASSERT_EQUAL( "Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}", + fn.GetVolume() ); + CPPUNIT_ASSERT_EQUAL( "\\Program Files", + fn.GetPath(wxPATH_NO_SEPARATOR, wxPATH_DOS) ); + CPPUNIT_ASSERT_EQUAL( "\\\\?\\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\\" + "Program Files\\setup.exe", + fn.GetFullPath(wxPATH_DOS) ); +}