summaryrefslogtreecommitdiffstats
path: root/chrome/browser/app_menu_model_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/app_menu_model_unittest.cc')
-rw-r--r--chrome/browser/app_menu_model_unittest.cc52
1 files changed, 6 insertions, 46 deletions
diff --git a/chrome/browser/app_menu_model_unittest.cc b/chrome/browser/app_menu_model_unittest.cc
index 1200c63..f4d46d1 100644
--- a/chrome/browser/app_menu_model_unittest.cc
+++ b/chrome/browser/app_menu_model_unittest.cc
@@ -6,55 +6,15 @@
#include "base/logging.h"
#include "chrome/test/browser_with_test_window_test.h"
+#include "chrome/test/menu_model_test.h"
#include "testing/gtest/include/gtest/gtest.h"
-// A menu delegate that counts the number of times certain things are called
-// to make sure things are hooked up properly.
-class Delegate : public menus::SimpleMenuModel::Delegate {
- public:
- Delegate() : execute_count_(0), enable_count_(0) { }
-
- virtual bool IsCommandIdChecked(int command_id) const { return false; }
- virtual bool IsCommandIdEnabled(int command_id) const {
- ++enable_count_;
- return true;
- }
- virtual bool GetAcceleratorForCommandId(
- int command_id,
- menus::Accelerator* accelerator) { return false; }
- virtual void ExecuteCommand(int command_id) { ++execute_count_; }
-
- int execute_count_;
- mutable int enable_count_;
-};
-
-class AppMenuModelTest : public BrowserWithTestWindowTest {
+class AppMenuModelTest : public BrowserWithTestWindowTest,
+ public MenuModelTest {
};
-// Recursively checks the enabled state and executes a command on every item
-// that's not a separator or a submenu parent item. The returned count should
-// match the number of times the delegate is called to ensure every item works.
-static void CountEnabledExecutable(menus::MenuModel* model, int* count) {
- for (int i = 0; i < model->GetItemCount(); ++i) {
- menus::MenuModel::ItemType type = model->GetTypeAt(i);
- switch (type) {
- case menus::MenuModel::TYPE_SEPARATOR:
- continue;
- case menus::MenuModel::TYPE_SUBMENU:
- CountEnabledExecutable(model->GetSubmenuModelAt(i), count);
- break;
- default:
- model->IsEnabledAt(i); // Check if it's enabled (ignore answer).
- model->ActivatedAt(i); // Execute it.
- (*count)++; // Increment the count of executable items seen.
- break;
- }
- }
-}
-
TEST_F(AppMenuModelTest, Basics) {
- Delegate delegate;
- AppMenuModel model(&delegate, browser());
+ AppMenuModel model(&delegate_, browser());
// Verify it has items. The number varies by platform, so we don't check
// the exact number.
@@ -63,6 +23,6 @@ TEST_F(AppMenuModelTest, Basics) {
int item_count = 0;
CountEnabledExecutable(&model, &item_count);
EXPECT_GT(item_count, 0);
- EXPECT_EQ(item_count, delegate.execute_count_);
- EXPECT_EQ(item_count, delegate.enable_count_);
+ EXPECT_EQ(item_count, delegate_.execute_count_);
+ EXPECT_EQ(item_count, delegate_.enable_count_);
}