diff options
Diffstat (limited to 'chrome/browser/app_menu_model_unittest.cc')
-rw-r--r-- | chrome/browser/app_menu_model_unittest.cc | 52 |
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_); } |