Chromium Code Reviews| Index: chrome/browser/ui/toolbar/action_box_menu_model_unittest.cc |
| diff --git a/chrome/browser/ui/toolbar/action_box_menu_model_unittest.cc b/chrome/browser/ui/toolbar/action_box_menu_model_unittest.cc |
| index 79826d12323d93dcc0611de4cbc3bb45a39d5f10..d464969f1deab66cdacd10c85f6e015739176949 100644 |
| --- a/chrome/browser/ui/toolbar/action_box_menu_model_unittest.cc |
| +++ b/chrome/browser/ui/toolbar/action_box_menu_model_unittest.cc |
| @@ -4,6 +4,7 @@ |
| #include "chrome/browser/ui/toolbar/action_box_menu_model.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/prefs/testing_pref_service.h" |
| #include "base/values.h" |
| #include "chrome/app/chrome_command_ids.h" |
| @@ -12,6 +13,7 @@ |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_command_controller.h" |
| #include "chrome/browser/ui/browser_commands.h" |
| +#include "chrome/browser/ui/toolbar/action_box_button_controller.h" |
| #include "chrome/common/extensions/feature_switch.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/test/base/browser_with_test_window_test.h" |
| @@ -27,26 +29,19 @@ |
| using extensions::FeatureSwitch; |
| class ActionBoxMenuModelTest : public BrowserWithTestWindowTest, |
| - public ui::SimpleMenuModel::Delegate { |
| + public ActionBoxButtonController::Delegate { |
| public: |
| ActionBoxMenuModelTest() {} |
| - // Testing overrides to ui::SimpleMenuModel::Delegate: |
| - virtual bool IsCommandIdChecked(int command_id) const OVERRIDE { |
| - return false; |
| + virtual void SetUp() OVERRIDE { |
| + BrowserWithTestWindowTest::SetUp(); |
| + controller_.reset(new ActionBoxButtonController(browser(), this)); |
|
Mike Wittman
2013/04/10 20:44:04
destroy the controller explicitly in a TearDown fu
Rune Fevang
2013/04/10 21:17:48
Done.
|
| } |
| - virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE { |
| - return false; |
| + scoped_ptr<ActionBoxMenuModel> CreateModel() { |
| + return controller_->CreateMenuModel(); |
| } |
| - virtual void ExecuteCommand(int command_id, int event_flags) OVERRIDE {} |
| - |
| - // Don't handle accelerators. |
| - virtual bool GetAcceleratorForCommandId( |
| - int command_id, |
| - ui::Accelerator* accelerator) OVERRIDE { return false; } |
| - |
| void InitProfile(){ |
| profile()->set_incognito(true); |
| profile()->GetPrefs()->ClearPref(prefs::kChromeToMobileDeviceList); |
| @@ -83,6 +78,8 @@ class ActionBoxMenuModelTest : public BrowserWithTestWindowTest, |
| } |
| private: |
| + scoped_ptr<ActionBoxButtonController> controller_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ActionBoxMenuModelTest); |
| }; |
| @@ -91,20 +88,18 @@ TEST_F(ActionBoxMenuModelTest, IncongnitoNoMobiles) { |
| InitProfile(); |
| NavigateToLocalPage(); |
| - // Create model. |
| - ActionBoxMenuModel model(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model = CreateModel(); |
| // Expect no c2m command in model. |
| - EXPECT_EQ(-1, model.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| NavigateToBookmarkablePage(); |
| - // Create model. |
| - ActionBoxMenuModel model2(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model2 = CreateModel(); |
| // Expect c2m command not in model. |
| - EXPECT_EQ(-1, model2.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model2->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| } |
| @@ -115,20 +110,17 @@ TEST_F(ActionBoxMenuModelTest, IncongnitoHasMobiles) { |
| NavigateToLocalPage(); |
| - // Create model. |
| - ActionBoxMenuModel model(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model = CreateModel(); |
| // Expect no c2m command in model. |
| - EXPECT_EQ(-1, model.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| NavigateToBookmarkablePage(); |
| - // Create model. |
| - |
| - ActionBoxMenuModel model2(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model2 = CreateModel(); |
| // Expect c2m command not in model. |
| - EXPECT_EQ(-1, model2.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model2->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| } |
| @@ -141,20 +133,18 @@ TEST_F(ActionBoxMenuModelTest, OnRecordNoMobiles) { |
| NavigateToLocalPage(); |
| - // Create model. |
| - ActionBoxMenuModel model(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model = CreateModel(); |
| // Expect no c2m command in model. |
| - EXPECT_EQ(-1, model.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| NavigateToBookmarkablePage(); |
| - // Create model. |
| - ActionBoxMenuModel model2(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model2 = CreateModel(); |
| // Expect c2m command not in model. |
| - EXPECT_EQ(-1, model2.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model2->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| } |
| @@ -169,30 +159,27 @@ TEST_F(ActionBoxMenuModelTest, HasMobilesOnRecordOrIncognito) { |
| NavigateToLocalPage(); |
| - // Create model. |
| - ActionBoxMenuModel model(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model = CreateModel(); |
| // Expect no c2m command in model. |
| - EXPECT_EQ(-1, model.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| NavigateToBookmarkablePage(); |
| - // Create model. |
| - ActionBoxMenuModel model2(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model2 = CreateModel(); |
| // Expect c2m command in model. |
| - EXPECT_NE(-1, model2.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_NE(-1, model2->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| // Incognito-ize profile. |
| profile()->set_incognito(true); |
| - // Create another model. |
| - ActionBoxMenuModel model3(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model3 = CreateModel(); |
| // Expect no c2m command in this model. |
| - EXPECT_EQ(-1, model3.GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| + EXPECT_EQ(-1, model3->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE)); |
| EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_CHROME_TO_MOBILE_PAGE)); |
| // Un-incognito-ize for shutdown. |
| @@ -211,19 +198,18 @@ TEST_F(ActionBoxMenuModelTest, BookmarkedPage) { |
| GURL url1("http://www.google.com"); |
| AddTab(browser(), url1); |
| - // Create model. |
| - ActionBoxMenuModel model(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model = CreateModel(); |
| // Bokomark item should be in menu. |
| - int bookmark_item_index = model.GetIndexOfCommandId( |
| + int bookmark_item_index = model->GetIndexOfCommandId( |
| IDC_BOOKMARK_PAGE_FROM_STAR); |
| - EXPECT_NE(-1, bookmark_item_index); |
| + ASSERT_NE(-1, bookmark_item_index); |
| gfx::Image bookmark_icon; |
| gfx::Image unlit_icon; |
| gfx::Image lit_icon; |
| - model.GetIconAt(bookmark_item_index, &bookmark_icon); |
| + model->GetIconAt(bookmark_item_index, &bookmark_icon); |
| unlit_icon = |
| ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed(IDR_STAR); |
| @@ -240,10 +226,9 @@ TEST_F(ActionBoxMenuModelTest, BookmarkedPage) { |
| // Now bookmark it. |
| chrome::BookmarkCurrentPage(browser()); |
| - // Create model. |
| - ActionBoxMenuModel model2(browser(), this); |
| + scoped_ptr<ActionBoxMenuModel> model2 = CreateModel(); |
| - model2.GetIconAt(bookmark_item_index, &bookmark_icon); |
| + model2->GetIconAt(bookmark_item_index, &bookmark_icon); |
| lit_icon = |
| ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed(IDR_STAR_LIT); |