]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/fswatcher/fswatchertest.cpp
Add CombineURIs implementation for wxWebFileProtocolHandler. Update the IE backend...
[wxWidgets.git] / tests / fswatcher / fswatchertest.cpp
index f28fee917e1111a1516a4bd5ece4f283edf05bba..fc158e7162049bb04c280d830fa5a4a22b977fd5 100644 (file)
     #pragma hdrstop
 #endif
 
+#ifndef WX_PRECOMP
+    #include "wx/timer.h"
+#endif
+
 #include "wx/evtloop.h"
 #include "wx/filename.h"
 #include "wx/filefn.h"
@@ -610,45 +614,59 @@ void FileSystemWatcherTestCase::TestEventAccess()
     tester.Run();
 }
 
-void FileSystemWatcherTestCase::TestNoEventsAfterRemove()
+namespace
+{
+
+// We can't define this class locally inside TestNoEventsAfterRemove() for some
+// reason with g++ 4.0 under OS X 10.5, it results in the following mysterious
+// error:
+//
+// /var/tmp//ccTkNCkc.s:unknown:Non-global symbol:
+// __ZThn80_ZN25FileSystemWatcherTestCase23TestNoEventsAfterRemoveEvEN11EventTester6NotifyEv.eh
+// can't be a weak_definition
+//
+// So define this class outside the function instead.
+class NoEventsAfterRemoveEventTester : public EventHandler,
+                                       public wxTimer
 {
-    class EventTester : public EventHandler,
-                        public wxTimer
+public:
+    NoEventsAfterRemoveEventTester()
     {
-    public:
-        EventTester()
-        {
-            // We need to use an inactivity timer as we never get any file
-            // system events in this test, so we consider that the test is
-            // finished when this 1s timeout expires instead of, as usual,
-            // stopping after getting the file system events.
-            Start(1000, true);
-        }
+        // We need to use an inactivity timer as we never get any file
+        // system events in this test, so we consider that the test is
+        // finished when this 1s timeout expires instead of, as usual,
+        // stopping after getting the file system events.
+        Start(1000, true);
+    }
 
-        virtual void GenerateEvent()
-        {
-            m_watcher->Remove(EventGenerator::GetWatchDir());
-            CPPUNIT_ASSERT(eg.CreateFile());
-        }
+    virtual void GenerateEvent()
+    {
+        m_watcher->Remove(EventGenerator::GetWatchDir());
+        CPPUNIT_ASSERT(eg.CreateFile());
+    }
 
-        virtual void CheckResult()
-        {
-            CPPUNIT_ASSERT( m_events.empty() );
-        }
+    virtual void CheckResult()
+    {
+        CPPUNIT_ASSERT( m_events.empty() );
+    }
 
-        virtual wxFileSystemWatcherEvent ExpectedEvent()
-        {
-            CPPUNIT_FAIL( "Shouldn't be called" );
+    virtual wxFileSystemWatcherEvent ExpectedEvent()
+    {
+        CPPUNIT_FAIL( "Shouldn't be called" );
 
-            return wxFileSystemWatcherEvent(wxFSW_EVENT_ERROR);
-        }
+        return wxFileSystemWatcherEvent(wxFSW_EVENT_ERROR);
+    }
 
-        virtual void Notify()
-        {
-            SendIdle();
-        }
-    };
+    virtual void Notify()
+    {
+        SendIdle();
+    }
+};
 
-    EventTester tester;
+} // anonymous namespace
+
+void FileSystemWatcherTestCase::TestNoEventsAfterRemove()
+{
+    NoEventsAfterRemoveEventTester tester;
     tester.Run();
 }