summaryrefslogtreecommitdiffstats
path: root/chrome/test/test_notification_tracker.h
diff options
context:
space:
mode:
authorbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-15 21:18:04 +0000
committerbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-15 21:18:04 +0000
commitb5e3bbf106f2bda83900e526d07dfa10a2164c82 (patch)
tree99d2c9ee87e04955573ed91a2b1256e489f63eb6 /chrome/test/test_notification_tracker.h
parent2168a720764a1a223b3ebae4bdc748b83784320c (diff)
downloadchromium_src-b5e3bbf106f2bda83900e526d07dfa10a2164c82.zip
chromium_src-b5e3bbf106f2bda83900e526d07dfa10a2164c82.tar.gz
chromium_src-b5e3bbf106f2bda83900e526d07dfa10a2164c82.tar.bz2
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@963 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/test_notification_tracker.h')
-rw-r--r--chrome/test/test_notification_tracker.h105
1 files changed, 0 insertions, 105 deletions
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_