diff --git a/tests/net/socket.cpp b/tests/net/socket.cpp index e571a566bf..69b1b4daa9 100644 --- a/tests/net/socket.cpp +++ b/tests/net/socket.cpp @@ -26,6 +26,8 @@ #if wxUSE_SOCKETS #include "wx/socket.h" +#include "wx/url.h" +#include "wx/sstream.h" #include "wx/evtloop.h" #include @@ -54,6 +56,7 @@ private: ALL_SOCKET_TESTS(); CPPUNIT_TEST( PseudoTest_SetUseEventLoop ); ALL_SOCKET_TESTS(); + CPPUNIT_TEST( UrlTest ); CPPUNIT_TEST_SUITE_END(); // helper event loop class which sets itself as active only if we pass it @@ -95,6 +98,8 @@ private: void ReadNowait(); void ReadWaitall(); + void UrlTest(); + static bool ms_useLoop; DECLARE_NO_COPY_CLASS(SocketTestCase) @@ -233,4 +238,19 @@ void SocketTestCase::ReadWaitall() CPPUNIT_ASSERT_EQUAL( WXSIZEOF(buf), sock->LastCount() ); } +void SocketTestCase::UrlTest() +{ + if ( gs_serverHost.empty() ) + return; + + SocketTestEventLoop loop(ms_useLoop); + + wxURL url("http://" + gs_serverHost); + wxInputStream * const in = url.GetInputStream(); + CPPUNIT_ASSERT( in ); + + wxStringOutputStream out; + CPPUNIT_ASSERT_EQUAL( wxSTREAM_EOF, in->Read(out).GetLastError() ); +} + #endif // wxUSE_SOCKETS