Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(657)

Unified Diff: chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc

Issue 17286015: Adds a first-run balloon to the Windows notification center. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test failures Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
diff --git a/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc b/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
index 7ff83094e65025554f9424cd6fb099b77b204480..93c3f545c5254a55d58e813bd1ae50be4fb1d6d7 100644
--- a/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
+++ b/chrome/browser/ui/views/status_icons/status_tray_win_unittest.cc
@@ -9,16 +9,27 @@
#include "chrome/browser/status_icons/status_icon_observer.h"
#include "chrome/browser/ui/views/status_icons/status_icon_win.h"
#include "grit/chrome_unscaled_resources.h"
-#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/models/simple_menu_model.h"
#include "ui/base/resource/resource_bundle.h"
-class SkBitmap;
-
-class MockStatusIconObserver : public StatusIconObserver {
+class FakeStatusIconObserver : public StatusIconObserver {
public:
- MOCK_METHOD0(OnStatusIconClicked, void());
+ FakeStatusIconObserver()
+ : balloon_clicked_(false),
+ status_icon_click_count_(0) {}
+ virtual void OnStatusIconClicked() {
+ ++status_icon_click_count_;
+ }
+ virtual void OnBalloonClicked() { balloon_clicked_ = true; }
+ bool balloon_clicked() const { return balloon_clicked_; }
+ size_t status_icon_click_count() const {
+ return status_icon_click_count_;
+ }
+
+ private:
+ size_t status_icon_click_count_;
+ bool balloon_clicked_;
};
TEST(StatusTrayWinTest, CreateTray) {
@@ -46,13 +57,25 @@ TEST(StatusTrayWinTest, ClickOnIcon) {
// Create an icon, send a fake click event, make sure observer is called.
StatusTrayWin tray;
StatusIconWin* icon = static_cast<StatusIconWin*>(tray.CreateStatusIcon());
- MockStatusIconObserver observer;
+ FakeStatusIconObserver observer;
icon->AddObserver(&observer);
- EXPECT_CALL(observer, OnStatusIconClicked());
// Mimic a click.
tray.WndProc(NULL, icon->message_id(), icon->icon_id(), WM_LBUTTONDOWN);
// Mimic a right-click - observer should not be called.
tray.WndProc(NULL, icon->message_id(), icon->icon_id(), WM_RBUTTONDOWN);
+ EXPECT_EQ(1, observer.status_icon_click_count());
+ icon->RemoveObserver(&observer);
+}
+
+TEST(StatusTrayWinTest, ClickOnBalloon) {
+ // Create an icon, send a fake click event, make sure observer is called.
+ StatusTrayWin tray;
+ StatusIconWin* icon = static_cast<StatusIconWin*>(tray.CreateStatusIcon());
+ FakeStatusIconObserver observer;
+ icon->AddObserver(&observer);
+ // Mimic a click.
+ tray.WndProc(NULL, icon->message_id(), icon->icon_id(), WM_USER + 5);
Andrew T Wilson (Slow) 2013/06/20 21:08:59 The WM_USER + 5 seems a bit kludgey here. Is there
dewittj 2013/06/21 20:35:15 Done. Unfortunately TB_INDETERMINATE doesn't seem
+ EXPECT_TRUE(observer.balloon_clicked());
icon->RemoveObserver(&observer);
}
#endif // !defined(USE_AURA)

Powered by Google App Engine
This is Rietveld 408576698