X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2104ba3194c56c70af2b0c8203804e5b0f3069f3..f9b24f070c67c61d11a0032054e0a229d876f38d:/samples/console/console.cpp diff --git a/samples/console/console.cpp b/samples/console/console.cpp index cc732582d4..bc6de72314 100644 --- a/samples/console/console.cpp +++ b/samples/console/console.cpp @@ -91,7 +91,7 @@ #undef TEST_ALL static const bool TEST_ALL = TRUE; #else - #define TEST_ZLIB + #define TEST_STREAMS static const bool TEST_ALL = FALSE; #endif @@ -307,7 +307,19 @@ static void TestDirEnum() { puts("*** Testing wxDir::GetFirst/GetNext ***"); - wxDir dir(wxGetCwd()); + wxString cwd = wxGetCwd(); + if ( !wxDir::Exists(cwd) ) + { + printf("ERROR: current directory '%s' doesn't exist?\n", cwd.c_str()); + return; + } + + wxDir dir("s:/tmp/foo"); + if ( !dir.IsOpened() ) + { + printf("ERROR: failed to open current directory '%s'.\n", cwd.c_str()); + return; + } puts("Enumerating everything in current directory:"); TestDirEnumHelper(dir); @@ -395,6 +407,38 @@ static void TestDirTraverse() dir.Traverse(traverser, _T(""), wxDIR_DIRS | wxDIR_HIDDEN); } +static void TestDirExists() +{ + wxPuts(_T("*** Testing wxDir::Exists() ***")); + + static const char *dirnames[] = + { + _T("."), +#if defined(__WXMSW__) + _T("c:"), + _T("c:\\"), + _T("\\\\share\\file"), + _T("c:\\dos"), + _T("c:\\dos\\"), + _T("c:\\dos\\\\"), + _T("c:\\autoexec.bat"), +#elif defined(__UNIX__) + _T("/"), + _T("//"), + _T("/usr/bin"), + _T("/usr//bin"), + _T("/usr///bin"), +#endif + }; + + for ( size_t n = 0; n < WXSIZEOF(dirnames); n++ ) + { + printf(_T("%-40s: %s\n"), + dirnames[n], + wxDir::Exists(dirnames[n]) ? _T("exists") : _T("doesn't exist")); + } +} + #endif // TEST_DIR // ---------------------------------------------------------------------------- @@ -822,6 +866,7 @@ static struct FileNameInfo { _T("c:\\foo.bar"), _T("c"), _T("\\"), _T("foo"), _T("bar"), TRUE, wxPATH_DOS }, { _T("c:\\Windows\\command.com"), _T("c"), _T("\\Windows"), _T("command"), _T("com"), TRUE, wxPATH_DOS }, { _T("\\\\server\\foo.bar"), _T("server"), _T("\\"), _T("foo"), _T("bar"), TRUE, wxPATH_DOS }, + { _T("\\\\server\\dir\\foo.bar"), _T("server"), _T("\\dir"), _T("foo"), _T("bar"), TRUE, wxPATH_DOS }, // wxFileName support for Mac file names is broken currently #if 0 @@ -1695,6 +1740,7 @@ static void TestMimeFilename() _T("readme.txt"), _T("document.pdf"), _T("image.gif"), + _T("picture.jpeg"), }; for ( size_t n = 0; n < WXSIZEOF(filenames); n++ ) @@ -3026,13 +3072,27 @@ static void TestFileStream() static void TestMemoryStream() { - puts("*** Testing wxMemoryInputStream ***"); + wxPuts(_T("*** Testing wxMemoryOutputStream ***")); + + wxMemoryOutputStream memOutStream; + wxPrintf(_T("Initially out stream offset: %lu\n"), + (unsigned long)memOutStream.TellO()); + + for ( const wxChar *p = _T("Hello, stream!"); *p; p++ ) + { + memOutStream.PutC(*p); + } + + wxPrintf(_T("Final out stream offset: %lu\n"), + (unsigned long)memOutStream.TellO()); + + wxPuts(_T("*** Testing wxMemoryInputStream ***")); wxChar buf[1024]; - wxStrncpy(buf, _T("Hello, stream!"), WXSIZEOF(buf)); + size_t len = memOutStream.CopyTo(buf, WXSIZEOF(buf)); - wxMemoryInputStream memInpStream(buf, wxStrlen(buf)); - printf(_T("Memory stream size: %u\n"), memInpStream.GetSize()); + wxMemoryInputStream memInpStream(buf, len); + wxPrintf(_T("Memory stream size: %u\n"), memInpStream.GetSize()); while ( !memInpStream.Eof() ) { putchar(memInpStream.GetC()); @@ -5039,18 +5099,18 @@ public: virtual ExitCode Entry() { - wxPrintf(_T("%s: Thread %d starting to wait for semaphore...\n"), - wxDateTime::Now().FormatTime().c_str(), m_i); + wxPrintf(_T("%s: Thread #%d (%ld) starting to wait for semaphore...\n"), + wxDateTime::Now().FormatTime().c_str(), m_i, (long)GetId()); m_sem->Wait(); - wxPrintf(_T("%s: Thread %d acquired the semaphore.\n"), - wxDateTime::Now().FormatTime().c_str(), m_i); + wxPrintf(_T("%s: Thread #%d (%ld) acquired the semaphore.\n"), + wxDateTime::Now().FormatTime().c_str(), m_i, (long)GetId()); Sleep(1000); - wxPrintf(_T("%s: Thread %d releasing the semaphore.\n"), - wxDateTime::Now().FormatTime().c_str(), m_i); + wxPrintf(_T("%s: Thread #%d (%ld) releasing the semaphore.\n"), + wxDateTime::Now().FormatTime().c_str(), m_i, (long)GetId()); m_sem->Post(); @@ -5793,9 +5853,10 @@ int main(int argc, char **argv) #ifdef TEST_DIR if ( TEST_ALL ) { - TestDirEnum(); + TestDirExists(); TestDirTraverse(); } + TestDirEnum(); #endif // TEST_DIR #ifdef TEST_DLLLOADER @@ -5851,7 +5912,7 @@ int main(int argc, char **argv) #endif // TEST_FILE #ifdef TEST_FILENAME - if ( 1 ) + if ( 0 ) { wxFileName fn; fn.Assign("c:\\foo", "bar.baz"); @@ -5860,6 +5921,7 @@ int main(int argc, char **argv) DumpFileName(fn); } + TestFileNameConstruction(); if ( TEST_ALL ) { TestFileNameConstruction(); @@ -5935,10 +5997,9 @@ int main(int argc, char **argv) { TestMimeEnum(); TestMimeOverride(); - TestMimeFilename(); + TestMimeAssociate(); } - - TestMimeAssociate(); + TestMimeFilename(); #endif // TEST_MIME #ifdef TEST_INFO_FUNCTIONS @@ -5989,8 +6050,11 @@ int main(int argc, char **argv) #endif // TEST_SOCKETS #ifdef TEST_STREAMS - TestFileStream(); - TestMemoryStream(); + if ( TEST_ALL ) + { + TestFileStream(); + } + TestMemoryStream(); #endif // TEST_STREAMS #ifdef TEST_THREADS