]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/console/console.cpp
disable children when the parent is disabled
[wxWidgets.git] / samples / console / console.cpp
index f312f1c51ddf67c6801260f7c8085dfdb565994f..20ca4b3a5e6191cfaaccdb9bfe09eb8ef0770a0d 100644 (file)
@@ -82,6 +82,7 @@
     #define TEST_STRINGS
     #define TEST_THREADS
     #define TEST_TIMER
+    #define TEST_UNICODE
     // #define TEST_VCARD            -- don't enable this (VZ)
     #define TEST_VOLUME
     #define TEST_WCHAR
@@ -91,7 +92,7 @@
     #undef TEST_ALL
     static const bool TEST_ALL = TRUE;
 #else
-    #define TEST_FILENAME
+    #define TEST_UNICODE
 
     static const bool TEST_ALL = FALSE;
 #endif
@@ -308,13 +309,13 @@ static void TestDirEnum()
     puts("*** Testing wxDir::GetFirst/GetNext ***");
 
     wxString cwd = wxGetCwd();
-    if ( wxDir::Exists(cwd) )
+    if ( !wxDir::Exists(cwd) )
     {
         printf("ERROR: current directory '%s' doesn't exist?\n", cwd.c_str());
         return;
     }
 
-    wxDir dir(cwd);
+    wxDir dir("s:/tmp/foo");
     if ( !dir.IsOpened() )
     {
         printf("ERROR: failed to open current directory '%s'.\n", cwd.c_str());
@@ -1740,6 +1741,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++ )
@@ -3071,13 +3073,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());
@@ -3451,9 +3467,26 @@ static void TestFSVolume()
 #endif // TEST_VOLUME
 
 // ----------------------------------------------------------------------------
-// wide char (Unicode) support
+// wide char and Unicode support
 // ----------------------------------------------------------------------------
 
+#ifdef TEST_UNICODE
+
+static void TestUnicodeToFromAscii()
+{
+    wxPuts(_T("Testing wxString::To/FromAscii()\n"));
+
+    static const char *msg = "Hello, world!";
+    wxString s = wxString::FromAscii(msg);
+
+    wxPrintf(_T("Message in Unicode: %s\n"), s.c_str());
+    printf("Message in ASCII: %s\n", s.ToAscii());
+
+    wxPutchar(_T('\n'));
+}
+
+#endif // TEST_UNICODE
+
 #ifdef TEST_WCHAR
 
 #include "wx/strconv.h"
@@ -3737,6 +3770,10 @@ struct Date
 static const Date testDates[] =
 {
     {  1, wxDateTime::Jan,  1970, 00, 00, 00, 2440587.5, wxDateTime::Thu,         0,     -3600 },
+    {  7, wxDateTime::Feb,  2036, 00, 00, 00, 2464730.5, wxDateTime::Thu,        -1,        -1 },
+    {  8, wxDateTime::Feb,  2036, 00, 00, 00, 2464731.5, wxDateTime::Fri,        -1,        -1 },
+    {  1, wxDateTime::Jan,  2037, 00, 00, 00, 2465059.5, wxDateTime::Thu,        -1,        -1 },
+    {  1, wxDateTime::Jan,  2038, 00, 00, 00, 2465424.5, wxDateTime::Fri,        -1,        -1 },
     { 21, wxDateTime::Jan,  2222, 00, 00, 00, 2532648.5, wxDateTime::Mon,        -1,        -1 },
     { 29, wxDateTime::May,  1976, 12, 00, 00, 2442928.0, wxDateTime::Sat, 202219200, 202212000 },
     { 29, wxDateTime::Feb,  1976, 00, 00, 00, 2442837.5, wxDateTime::Sun, 194400000, 194396400 },
@@ -5084,18 +5121,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();
 
@@ -5836,12 +5873,12 @@ int main(int argc, char **argv)
 #endif // TEST_ARRAYS
 
 #ifdef TEST_DIR
-    TestDirExists();
     if ( TEST_ALL )
     {
-        TestDirEnum();
+        TestDirExists();
         TestDirTraverse();
     }
+    TestDirEnum();
 #endif // TEST_DIR
 
 #ifdef TEST_DLLLOADER
@@ -5982,10 +6019,9 @@ int main(int argc, char **argv)
     {
         TestMimeEnum();
         TestMimeOverride();
-        TestMimeFilename();
+        TestMimeAssociate();
     }
-
-    TestMimeAssociate();
+    TestMimeFilename();
 #endif // TEST_MIME
 
 #ifdef TEST_INFO_FUNCTIONS
@@ -6036,8 +6072,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
@@ -6103,6 +6142,10 @@ int main(int argc, char **argv)
     TestFSVolume();
 #endif // TEST_VOLUME
 
+#ifdef TEST_UNICODE
+    TestUnicodeToFromAscii();
+#endif // TEST_UNICODE
+
 #ifdef TEST_WCHAR
     TestUtf8();
     TestEncodingConverter();