diff options
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/test_notification_tracker.cc | 105 | ||||
-rw-r--r-- | chrome/test/test_notification_tracker.h | 105 | ||||
-rw-r--r-- | chrome/test/unit/unittests.vcproj | 16 |
3 files changed, 4 insertions, 222 deletions
diff --git a/chrome/test/test_notification_tracker.cc b/chrome/test/test_notification_tracker.cc deleted file mode 100644 index e17de73..0000000 --- a/chrome/test/test_notification_tracker.cc +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include "chrome/test/test_notification_tracker.h" -#include "chrome/common/notification_types.h" - -TestNotificationTracker::Event::Event() - : type(NOTIFY_ALL), - source(NotificationService::AllSources()), - details(NotificationService::NoDetails()) { -} -TestNotificationTracker::Event::Event(NotificationType t, - NotificationSource s, - NotificationDetails d) - : type(t), - source(s), - details(d) { -} - -TestNotificationTracker::TestNotificationTracker() { -} - -TestNotificationTracker::~TestNotificationTracker() { - NotificationService* service = NotificationService::current(); - for (size_t i = 0; i < listening_.size(); i++) - service->RemoveObserver(this, listening_[i].first, listening_[i].second); - listening_.clear(); -} - -void TestNotificationTracker::ListenFor(NotificationType type, - const NotificationSource& source) { - listening_.push_back(std::make_pair(type, source)); - NotificationService::current()->AddObserver(this, type, source); -} - -void TestNotificationTracker::Reset() { - events_.clear(); -} - -bool TestNotificationTracker::Check1AndReset(NotificationType type) { - if (size() != 1) { - Reset(); - return false; - } - bool success = events_[0].type == type; - Reset(); - return success; -} - -bool TestNotificationTracker::Check2AndReset(NotificationType type1, - NotificationType type2) { - if (size() != 2) { - Reset(); - return false; - } - bool success = events_[0].type == type1 && events_[1].type == type2; - Reset(); - return success; -} - -bool TestNotificationTracker::Check3AndReset(NotificationType type1, - NotificationType type2, - NotificationType type3) { - if (size() != 3) { - Reset(); - return false; - } - bool success = events_[0].type == type1 && - events_[1].type == type2 && - events_[2].type == type3; - Reset(); - return success; -} - -void TestNotificationTracker::Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details) { - events_.push_back(Event(type, source, details)); -} diff --git a/chrome/test/test_notification_tracker.h b/chrome/test/test_notification_tracker.h deleted file mode 100644 index ca22f6b..0000000 --- a/chrome/test/test_notification_tracker.h +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#ifndef CHROME_TEST_NOTIFICATION_TRACKER_H_ -#define CHROME_TEST_NOTIFICATION_TRACKER_H_ - -#include <vector> - -#include "chrome/common/notification_service.h" - -// Provides an easy way for tests to verify that a given set of notifications -// was received during test execution. -class TestNotificationTracker : public NotificationObserver { - public: - // Records one received notification. - struct Event { - Event(); - Event(NotificationType t, NotificationSource s, NotificationDetails d); - - NotificationType type; - NotificationSource source; - NotificationDetails details; - }; - - // By default, it won't listen for any notifications. You'll need to call - // ListenFor for the notifications you are interested in. - TestNotificationTracker(); - - ~TestNotificationTracker(); - - // Makes this object listen for the given notification with the given source. - void ListenFor(NotificationType type, const NotificationSource& source); - - // Makes this object listen for notifications of the given type coming from - // any source. - void ListenForAll(NotificationType type); - - // Clears the list of events. - void Reset(); - - // Given notifications type(sp, returns true if the list of notifications - // were exactly those listed in the given arg(s), and in the same order. - // - // This will also reset the list so that the next call will only check for - // new notifications. Example: - // <do stuff> - // Check1AndReset(NOTIFY_A); - // <do stuff> - // Check2AndReset(NOTIFY_B, NOTIFY_C) - bool Check1AndReset(NotificationType type); - bool Check2AndReset(NotificationType type1, - NotificationType type2); - bool Check3AndReset(NotificationType type1, - NotificationType type2, - NotificationType type3); - - // Returns the number of notifications received since the last reset. - size_t size() const { return events_.size(); } - - // Returns the information about the event at the given index. The index must - // be in [0, size). - const Event& at(size_t i) const { return events_[i]; } - - private: - virtual void Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details); - - // Lists all type/source combinations that we're listening for. These will - // need to be unregistered when we are destroyed. - std::vector< std::pair<NotificationType, NotificationSource> > listening_; - - // Lists all received since last cleared, in the order they were received. - std::vector<Event> events_; - - DISALLOW_COPY_AND_ASSIGN(TestNotificationTracker); -}; - -#endif // CHROME_TEST_NOTIFICATION_TRACKER_H_ diff --git a/chrome/test/unit/unittests.vcproj b/chrome/test/unit/unittests.vcproj index ee496de..9aa1c90 100644 --- a/chrome/test/unit/unittests.vcproj +++ b/chrome/test/unit/unittests.vcproj @@ -182,14 +182,6 @@ > </File> <File - RelativePath="..\test_notification_tracker.cc" - > - </File> - <File - RelativePath="..\test_notification_tracker.h" - > - </File> - <File RelativePath="..\testing_browser_process.h" > </File> @@ -202,19 +194,19 @@ > </File> <File - RelativePath="..\..\..\net\url_request\url_request_test_job.cc" + RelativePath="..\ui\view_event_test_base.cc" > </File> <File - RelativePath="..\..\..\net\url_request\url_request_test_job.h" + RelativePath="..\ui\view_event_test_base.h" > </File> <File - RelativePath="..\ui\view_event_test_base.cc" + RelativePath="..\..\..\net\url_request\url_request_test_job.cc" > </File> <File - RelativePath="..\ui\view_event_test_base.h" + RelativePath="..\..\..\net\url_request\url_request_test_job.h" > </File> </Filter> |