X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/24ca04e7aa0d6c910956522fec1ecc75edffc648..c63312c472c83be6d3b935f0ceeef484a7d611ce:/tests/uris/uris.cpp diff --git a/tests/uris/uris.cpp b/tests/uris/uris.cpp index 4067550da7..1d05f04541 100644 --- a/tests/uris/uris.cpp +++ b/tests/uris/uris.cpp @@ -49,6 +49,7 @@ private: CPPUNIT_TEST( Assignment ); CPPUNIT_TEST( Comparison ); CPPUNIT_TEST( Unescaping ); + CPPUNIT_TEST( FileScheme ); #if TEST_URL CPPUNIT_TEST( URLCompat ); #if wxUSE_PROTOCOL_HTTP @@ -68,6 +69,7 @@ private: void Assignment(); void Comparison(); void Unescaping(); + void FileScheme(); #if TEST_URL void URLCompat(); @@ -300,8 +302,31 @@ void URITestCase::Unescaping() } +void URITestCase::FileScheme() +{ + //file:// variety (NOT CONFORMANT TO THE RFC) + CPPUNIT_ASSERT(wxURI(wxString(wxT("file://e:/wxcode/script1.xml"))).GetPath() + == wxT("e:/wxcode/script1.xml") ); + + //file:/// variety + CPPUNIT_ASSERT(wxURI(wxString(wxT("file:///e:/wxcode/script1.xml"))).GetPath() + == wxT("/e:/wxcode/script1.xml") ); + + //file:/ variety + CPPUNIT_ASSERT(wxURI(wxString(wxT("file:/e:/wxcode/script1.xml"))).GetPath() + == wxT("/e:/wxcode/script1.xml") ); + + //file: variety + CPPUNIT_ASSERT(wxURI(wxString(wxT("file:e:/wxcode/script1.xml"))).GetPath() + == wxT("e:/wxcode/script1.xml") ); +} + #if TEST_URL +const wxChar* pszProblemUrls[] = { wxT("http://www.csdn.net"), + wxT("http://www.163.com"), + wxT("http://www.sina.com.cn") }; + #include "wx/url.h" #include "wx/file.h" @@ -341,6 +366,36 @@ void URITestCase::URLCompat() CPPUNIT_ASSERT( test.BuildURI() == wxT("file:%22myf%22ile.txt") ); CPPUNIT_ASSERT( test.GetScheme() == wxT("file") ); CPPUNIT_ASSERT( test.GetPath() == wxT("%22myf%22ile.txt") ); + + // these could be put under a named registry since they take some + // time to complete +#if 0 + // Test problem urls (reported not to work some time ago by a user...) + for ( size_t i = 0; i < WXSIZEOF(pszProblemUrls); ++i ) + { + wxURL urlProblem(pszProblemUrls[i]); + CPPUNIT_ASSERT(urlProblem.GetError() == wxURL_NOERR); + + wxInputStream* is = urlProblem.GetInputStream(); + CPPUNIT_ASSERT(is != NULL); + + wxFile fOut(_T("test.html"), wxFile::write); + wxASSERT(fOut.IsOpened()); + + char buf[1001]; + for( ;; ) + { + is->Read(buf, 1000); + size_t n = is->LastRead(); + if ( n == 0 ) + break; + buf[n] = 0; + fOut.Write(buf, n); + } + + delete is; + } +#endif } #if wxUSE_PROTOCOL_HTTP @@ -348,8 +403,12 @@ void URITestCase::URLProxy() { wxURL url(wxT("http://www.asite.com/index.html")); url.SetProxy(wxT("pserv:3122")); + + wxURL::SetDefaultProxy(wxT("fol.singnet.com.sg:8080")); + wxURL url2(wxT("http://server-name/path/to/file?query_data=value")); + wxInputStream *data = url2.GetInputStream(); + CPPUNIT_ASSERT(data != NULL); } #endif // wxUSE_PROTOCOL_HTTP #endif // TEST_URL -