]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/console/console.cpp
Add <span> tag and limited support for CSS styles to wxHTML.
[wxWidgets.git] / samples / console / console.cpp
index 685321b2f7130f97f605d61bc351097c77237fe3..b1e455d07197b84f69d5a9bf1535cf48e6bc925b 100644 (file)
 
 
 #if TEST_ALL
-    #define TEST_CMDLINE
     #define TEST_DATETIME
     #define TEST_DIR
     #define TEST_DYNLIB
     #define TEST_REGCONF
     #define TEST_REGEX
     #define TEST_REGISTRY
-    #define TEST_SCOPEGUARD
-    #define TEST_SNGLINST
 #else // #if TEST_ALL
     #define TEST_DATETIME
     #define TEST_VOLUME
     #define TEST_STDPATHS
     #define TEST_STACKWALKER
     #define TEST_FTP
+    #define TEST_SNGLINST
 #endif
 
 // some tests are interactive, define this to run them
 // implementation
 // ============================================================================
 
-// ----------------------------------------------------------------------------
-// wxCmdLineParser
-// ----------------------------------------------------------------------------
-
-#ifdef TEST_CMDLINE
-
-#include "wx/cmdline.h"
-#include "wx/datetime.h"
-
-#if wxUSE_CMDLINE_PARSER
-
-static void ShowCmdLine(const wxCmdLineParser& parser)
-{
-    wxString s = wxT("Command line parsed successfully:\nInput files: ");
-
-    size_t count = parser.GetParamCount();
-    for ( size_t param = 0; param < count; param++ )
-    {
-        s << parser.GetParam(param) << ' ';
-    }
-
-    s << '\n'
-      << wxT("Verbose:\t") << (parser.Found(wxT("v")) ? wxT("yes") : wxT("no")) << '\n'
-      << wxT("Quiet:\t") << (parser.Found(wxT("q")) ? wxT("yes") : wxT("no")) << '\n';
-
-    wxString strVal;
-    long lVal;
-    double dVal;
-    wxDateTime dt;
-    if ( parser.Found(wxT("o"), &strVal) )
-        s << wxT("Output file:\t") << strVal << '\n';
-    if ( parser.Found(wxT("i"), &strVal) )
-        s << wxT("Input dir:\t") << strVal << '\n';
-    if ( parser.Found(wxT("s"), &lVal) )
-        s << wxT("Size:\t") << lVal << '\n';
-    if ( parser.Found(wxT("f"), &dVal) )
-        s << wxT("Double:\t") << dVal << '\n';
-    if ( parser.Found(wxT("d"), &dt) )
-        s << wxT("Date:\t") << dt.FormatISODate() << '\n';
-    if ( parser.Found(wxT("project_name"), &strVal) )
-        s << wxT("Project:\t") << strVal << '\n';
-
-    wxLogMessage(s);
-}
-
-#endif // wxUSE_CMDLINE_PARSER
-
-static void TestCmdLineConvert()
-{
-    static const wxChar *cmdlines[] =
-    {
-        wxT("arg1 arg2"),
-        wxT("-a \"-bstring 1\" -c\"string 2\" \"string 3\""),
-        wxT("literal \\\" and \"\""),
-    };
-
-    for ( size_t n = 0; n < WXSIZEOF(cmdlines); n++ )
-    {
-        const wxChar *cmdline = cmdlines[n];
-        wxPrintf(wxT("Parsing: %s\n"), cmdline);
-        wxArrayString args = wxCmdLineParser::ConvertStringToArgs(cmdline);
-
-        size_t count = args.GetCount();
-        wxPrintf(wxT("\targc = %u\n"), count);
-        for ( size_t arg = 0; arg < count; arg++ )
-        {
-            wxPrintf(wxT("\targv[%u] = %s\n"), arg, args[arg].c_str());
-        }
-    }
-}
-
-#endif // TEST_CMDLINE
-
 // ----------------------------------------------------------------------------
 // wxDir
 // ----------------------------------------------------------------------------
@@ -2151,42 +2076,6 @@ static void TestRegistryAssociation()
 
 #endif // TEST_REGISTRY
 
-// ----------------------------------------------------------------------------
-// scope guard
-// ----------------------------------------------------------------------------
-
-#ifdef TEST_SCOPEGUARD
-
-#include "wx/scopeguard.h"
-
-static void function0() { puts("function0()"); }
-static void function1(int n) { printf("function1(%d)\n", n); }
-static void function2(double x, char c) { printf("function2(%g, %c)\n", x, c); }
-
-struct Object
-{
-    void method0() { printf("method0()\n"); }
-    void method1(int n) { printf("method1(%d)\n", n); }
-    void method2(double x, char c) { printf("method2(%g, %c)\n", x, c); }
-};
-
-static void TestScopeGuard()
-{
-    wxON_BLOCK_EXIT0(function0);
-    wxON_BLOCK_EXIT1(function1, 17);
-    wxON_BLOCK_EXIT2(function2, 3.14, 'p');
-
-    Object obj;
-    wxON_BLOCK_EXIT_OBJ0(obj, Object::method0);
-    wxON_BLOCK_EXIT_OBJ1(obj, Object::method1, 7);
-    wxON_BLOCK_EXIT_OBJ2(obj, Object::method2, 2.71, 'e');
-
-    wxScopeGuard dismissed = wxMakeGuard(function0);
-    dismissed.Dismiss();
-}
-
-#endif
-
 // ----------------------------------------------------------------------------
 // FTP
 // ----------------------------------------------------------------------------
@@ -2247,6 +2136,7 @@ static bool TestFtpConnect()
     return true;
 }
 
+#if TEST_INTERACTIVE
 static void TestFtpInteractive()
 {
     wxPuts(wxT("\n*** Interactive wxFTP test ***"));
@@ -2305,9 +2195,9 @@ static void TestFtpInteractive()
         }
     }
 
-    wxPuts(wxT("\n*** done ***"));
+    wxPuts(wxT("\n"));
 }
-
+#endif // TEST_INTERACTIVE
 #endif // TEST_FTP
 
 // ----------------------------------------------------------------------------
@@ -2371,7 +2261,7 @@ protected:
 
 static void TestStackWalk(const char *argv0)
 {
-    wxPuts(wxT("*** Testing wxStackWalker ***\n"));
+    wxPuts(wxT("*** Testing wxStackWalker ***"));
 
     StackDump dump(argv0);
     dump.Walk();
@@ -2394,7 +2284,7 @@ static void TestStackWalk(const char *argv0)
 
 static void TestStandardPaths()
 {
-    wxPuts(wxT("*** Testing wxStandardPaths ***\n"));
+    wxPuts(wxT("*** Testing wxStandardPaths ***"));
 
     wxTheApp->SetAppName(wxT("console"));
 
@@ -2541,13 +2431,48 @@ static void TestDateTimeInteractive()
 #endif // TEST_DATETIME
 
 // ----------------------------------------------------------------------------
-// entry point
+// single instance
 // ----------------------------------------------------------------------------
 
 #ifdef TEST_SNGLINST
-    #include "wx/snglinst.h"
+
+#include "wx/snglinst.h"
+
+static bool TestSingleIstance()
+{
+    wxPuts(wxT("\n*** Testing wxSingleInstanceChecker ***"));
+
+    wxSingleInstanceChecker checker;
+    if ( checker.Create(wxT(".wxconsole.lock")) )
+    {
+        if ( checker.IsAnotherRunning() )
+        {
+            wxPrintf(wxT("Another instance of the program is running, exiting.\n"));
+
+            return false;
+        }
+
+        // wait some time to give time to launch another instance
+        wxPuts(wxT("If you try to run another instance of this program now, it won't start."));
+        wxPrintf(wxT("Press \"Enter\" to exit wxSingleInstanceChecker test and proceed..."));
+        wxFgetc(stdin);
+    }
+    else // failed to create
+    {
+        wxPrintf(wxT("Failed to init wxSingleInstanceChecker.\n"));
+    }
+    
+    wxPuts("\n");
+    
+    return true;
+}
 #endif // TEST_SNGLINST
 
+
+// ----------------------------------------------------------------------------
+// entry point
+// ----------------------------------------------------------------------------
+
 int main(int argc, char **argv)
 {
 #if wxUSE_UNICODE
@@ -2579,76 +2504,10 @@ int main(int argc, char **argv)
     }
 
 #ifdef TEST_SNGLINST
-    wxSingleInstanceChecker checker;
-    if ( checker.Create(wxT(".wxconsole.lock")) )
-    {
-        if ( checker.IsAnotherRunning() )
-        {
-            wxPrintf(wxT("Another instance of the program is running, exiting.\n"));
-
-            return 1;
-        }
-
-        // wait some time to give time to launch another instance
-        wxPrintf(wxT("Press \"Enter\" to continue..."));
-        wxFgetc(stdin);
-    }
-    else // failed to create
-    {
-        wxPrintf(wxT("Failed to init wxSingleInstanceChecker.\n"));
-    }
+    if (!TestSingleIstance())
+        return 1;
 #endif // TEST_SNGLINST
 
-#ifdef TEST_CMDLINE
-    TestCmdLineConvert();
-
-#if wxUSE_CMDLINE_PARSER
-    static const wxCmdLineEntryDesc cmdLineDesc[] =
-    {
-        { wxCMD_LINE_SWITCH, "h", "help", "show this help message",
-            wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
-        { wxCMD_LINE_SWITCH, "v", "verbose", "be verbose" },
-        { wxCMD_LINE_SWITCH, "q", "quiet",   "be quiet" },
-
-        { wxCMD_LINE_OPTION, "o", "output",  "output file" },
-        { wxCMD_LINE_OPTION, "i", "input",   "input dir" },
-        { wxCMD_LINE_OPTION, "s", "size",    "output block size",
-            wxCMD_LINE_VAL_NUMBER },
-        { wxCMD_LINE_OPTION, "d", "date",    "output file date",
-            wxCMD_LINE_VAL_DATE },
-        { wxCMD_LINE_OPTION, "f", "double",  "output double",
-            wxCMD_LINE_VAL_DOUBLE },
-
-        { wxCMD_LINE_PARAM,  NULL, NULL, "input file",
-            wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE },
-
-        { wxCMD_LINE_NONE }
-    };
-
-    wxCmdLineParser parser(cmdLineDesc, argc, wxArgv);
-
-    parser.AddOption(wxT("project_name"), wxT(""), wxT("full path to project file"),
-                     wxCMD_LINE_VAL_STRING,
-                     wxCMD_LINE_OPTION_MANDATORY | wxCMD_LINE_NEEDS_SEPARATOR);
-
-    switch ( parser.Parse() )
-    {
-        case -1:
-            wxLogMessage(wxT("Help was given, terminating."));
-            break;
-
-        case 0:
-            ShowCmdLine(parser);
-            break;
-
-        default:
-            wxLogMessage(wxT("Syntax error detected, aborting."));
-            break;
-    }
-#endif // wxUSE_CMDLINE_PARSER
-
-#endif // TEST_CMDLINE
-
 #ifdef TEST_DIR
     #if TEST_ALL
         TestDirExists();
@@ -2727,11 +2586,8 @@ int main(int argc, char **argv)
     // wxWidgets internals after it has been initialized
     ftp = new wxFTP;
     ftp->SetLog(new wxProtocolLog(FTP_TRACE_MASK));
-
     if ( TestFtpConnect() )
-    {
         TestFtpInteractive();
-    }
     //else: connecting to the FTP server failed
 
     delete ftp;
@@ -2787,10 +2643,6 @@ int main(int argc, char **argv)
     #endif
 #endif // TEST_DATETIME
 
-#ifdef TEST_SCOPEGUARD
-    TestScopeGuard();
-#endif
-
 #ifdef TEST_STACKWALKER
 #if wxUSE_STACKWALKER
     TestStackWalk(argv[0]);