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

Side by Side Diff: chrome/browser/status_icons/status_tray_unittest.cc

Issue 3189003: Added support for context menus to status icons. (Closed)
Patch Set: Final version. Created 10 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/string_util.h" 5 #include "base/string_util.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/status_icons/status_icon.h" 7 #include "chrome/browser/status_icons/status_icon.h"
8 #include "chrome/browser/status_icons/status_tray.h" 8 #include "chrome/browser/status_icons/status_tray.h"
9 #include "testing/gmock/include/gmock/gmock.h" 9 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 using testing::Return; 12 using testing::Return;
13 13
14 class MockStatusIcon : public StatusIcon { 14 class MockStatusIcon : public StatusIcon {
15 virtual void SetImage(const SkBitmap& image) {} 15 virtual void SetImage(const SkBitmap& image) {}
16 virtual void SetPressedImage(const SkBitmap& image) {} 16 virtual void SetPressedImage(const SkBitmap& image) {}
17 virtual void SetToolTip(const string16& tool_tip) {} 17 virtual void SetToolTip(const string16& tool_tip) {}
18 virtual void ResetContextMenu(menus::MenuModel* menu) {}
18 virtual void AddObserver(StatusIcon::Observer* observer) {} 19 virtual void AddObserver(StatusIcon::Observer* observer) {}
19 virtual void RemoveObserver(StatusIcon::Observer* observer) {} 20 virtual void RemoveObserver(StatusIcon::Observer* observer) {}
20 }; 21 };
21 22
22 class TestStatusTray : public StatusTray { 23 class TestStatusTray : public StatusTray {
23 public: 24 public:
24 MOCK_METHOD0(CreatePlatformStatusIcon, StatusIcon*()); 25 MOCK_METHOD0(CreatePlatformStatusIcon, StatusIcon*());
26 MOCK_METHOD1(ResetContextMenu, void(menus::MenuModel*));
25 }; 27 };
26 28
27 TEST(StatusTrayTest, Create) { 29 TEST(StatusTrayTest, Create) {
28 // Check for creation and leaks. 30 // Check for creation and leaks.
29 TestStatusTray tray; 31 TestStatusTray tray;
30 EXPECT_CALL(tray, 32 EXPECT_CALL(tray,
31 CreatePlatformStatusIcon()).WillOnce(Return(new MockStatusIcon())); 33 CreatePlatformStatusIcon()).WillOnce(Return(new MockStatusIcon()));
32 tray.CreateStatusIcon(); 34 tray.CreateStatusIcon();
33 } 35 }
34 36
35 // Make sure that removing an icon removes it from the list. 37 // Make sure that removing an icon removes it from the list.
36 TEST(StatusTrayTest, CreateRemove) { 38 TEST(StatusTrayTest, CreateRemove) {
37 TestStatusTray tray; 39 TestStatusTray tray;
38 EXPECT_CALL(tray, 40 EXPECT_CALL(tray,
39 CreatePlatformStatusIcon()).WillOnce(Return(new MockStatusIcon())); 41 CreatePlatformStatusIcon()).WillOnce(Return(new MockStatusIcon()));
40 StatusIcon* icon = tray.CreateStatusIcon(); 42 StatusIcon* icon = tray.CreateStatusIcon();
41 EXPECT_EQ(1U, tray.status_icons_.size()); 43 EXPECT_EQ(1U, tray.status_icons_.size());
42 tray.RemoveStatusIcon(icon); 44 tray.RemoveStatusIcon(icon);
43 EXPECT_EQ(0U, tray.status_icons_.size()); 45 EXPECT_EQ(0U, tray.status_icons_.size());
44 // Calling again should do nothing. 46 // Calling again should do nothing.
45 tray.RemoveStatusIcon(icon); 47 tray.RemoveStatusIcon(icon);
46 } 48 }
OLDNEW
« no previous file with comments | « chrome/browser/status_icons/status_icon_unittest.cc ('k') | chrome/browser/views/status_icons/status_icon_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698