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

Unified Diff: chrome/browser/wrench_menu_model_unittest.cc

Issue 3163023: Clean up the WrenchMenuModel so that it uses SimpleMenu::Delegate. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Fix stray rb 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/wrench_menu_model_unittest.cc
diff --git a/chrome/browser/wrench_menu_model_unittest.cc b/chrome/browser/wrench_menu_model_unittest.cc
index 2b50bb0f7d1bb0551f714f66683de8540e606077..d38147e19d921d65782f2e5773570dfa8acc3ff5 100644
--- a/chrome/browser/wrench_menu_model_unittest.cc
+++ b/chrome/browser/wrench_menu_model_unittest.cc
@@ -12,12 +12,51 @@
#include "testing/gtest/include/gtest/gtest.h"
class WrenchMenuModelTest : public BrowserWithTestWindowTest,
- public MenuModelTest {
+ public menus::AcceleratorProvider {
+ public:
+ // Don't handle accelerators.
+ virtual bool GetAcceleratorForCommandId(
+ int command_id,
+ menus::Accelerator* accelerator) { return false; }
+};
+
+// Copies parts of MenuModelTest::Delegate and combines them with the
+// WrenchMenuModel since WrenchMenuModel is now a SimpleMenuModel::Delegate and
+// not derived from SimpleMenuModel.
+class TestWrenchMenuModel : public WrenchMenuModel {
+ public:
+ TestWrenchMenuModel(menus::AcceleratorProvider* provider,
+ Browser* browser)
+ : WrenchMenuModel(provider, browser),
+ execute_count_(0),
+ checked_count_(0),
+ enable_count_(0) {
+ }
+
+ // Testing overrides to menus::SimpleMenuModel::Delegate:
+ virtual bool IsCommandIdChecked(int command_id) const {
+ bool val = WrenchMenuModel::IsCommandIdChecked(command_id);
+ if (val)
+ checked_count_++;
+ return val;
+ }
+
+ virtual bool IsCommandIdEnabled(int command_id) const {
+ ++enable_count_;
+ return true;
+ }
+
+ virtual void ExecuteCommand(int command_id) { ++execute_count_; }
+
+ int execute_count_;
+ mutable int checked_count_;
+ mutable int enable_count_;
};
TEST_F(WrenchMenuModelTest, Basics) {
- WrenchMenuModel model(&delegate_, browser());
- int itemCount = model.GetItemCount();
+ TestWrenchMenuModel wrench(this, browser());
+ menus::SimpleMenuModel* model = wrench.menu_model();
+ int itemCount = model->GetItemCount();
// Verify it has items. The number varies by platform, so we don't check
// the exact number.
@@ -26,34 +65,34 @@ TEST_F(WrenchMenuModelTest, Basics) {
// Execute a couple of the items and make sure it gets back to our delegate.
// We can't use CountEnabledExecutable() here because the encoding menu's
// delegate is internal, it doesn't use the one we pass in.
- model.ActivatedAt(0);
- EXPECT_TRUE(model.IsEnabledAt(0));
+ model->ActivatedAt(0);
+ EXPECT_TRUE(model->IsEnabledAt(0));
// Make sure to use the index that is not separator in all configurations.
- model.ActivatedAt(2);
- EXPECT_TRUE(model.IsEnabledAt(2));
- EXPECT_EQ(delegate_.execute_count_, 2);
- EXPECT_EQ(delegate_.enable_count_, 2);
+ model->ActivatedAt(2);
+ EXPECT_TRUE(model->IsEnabledAt(2));
+ EXPECT_EQ(wrench.execute_count_, 2);
+ EXPECT_EQ(wrench.enable_count_, 2);
- delegate_.execute_count_ = 0;
- delegate_.enable_count_ = 0;
+ wrench.execute_count_ = 0;
+ wrench.enable_count_ = 0;
// Choose something from the tools submenu and make sure it makes it back to
// the delegate as well. Use the first submenu as the tools one.
int toolsModelIndex = -1;
for (int i = 0; i < itemCount; ++i) {
- if (model.GetTypeAt(i) == menus::MenuModel::TYPE_SUBMENU) {
+ if (model->GetTypeAt(i) == menus::MenuModel::TYPE_SUBMENU) {
toolsModelIndex = i;
break;
}
}
EXPECT_GT(toolsModelIndex, -1);
- menus::MenuModel* toolsModel = model.GetSubmenuModelAt(toolsModelIndex);
+ menus::MenuModel* toolsModel = model->GetSubmenuModelAt(toolsModelIndex);
EXPECT_TRUE(toolsModel);
EXPECT_GT(toolsModel->GetItemCount(), 2);
toolsModel->ActivatedAt(2);
EXPECT_TRUE(toolsModel->IsEnabledAt(2));
- EXPECT_EQ(delegate_.execute_count_, 1);
- EXPECT_EQ(delegate_.enable_count_, 1);
+ EXPECT_EQ(wrench.execute_count_, 1);
+ EXPECT_EQ(wrench.enable_count_, 1);
}
class EncodingMenuModelTest : public BrowserWithTestWindowTest,

Powered by Google App Engine
This is Rietveld 408576698