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..a160ba7e4ace9322512ea88341a5c124417772d5 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,25 +29,23 @@ |
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)); |
} |
- virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE { |
- return false; |
+ virtual void TearDown() OVERRIDE { |
+ controller_.reset(); |
+ BrowserWithTestWindowTest::TearDown(); |
} |
- 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; } |
+ scoped_ptr<ActionBoxMenuModel> CreateModel() { |
+ return controller_->CreateMenuModel(); |
+ } |
void InitProfile(){ |
profile()->set_incognito(true); |
@@ -83,6 +83,8 @@ class ActionBoxMenuModelTest : public BrowserWithTestWindowTest, |
} |
private: |
+ scoped_ptr<ActionBoxButtonController> controller_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ActionBoxMenuModelTest); |
}; |
@@ -91,20 +93,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 +115,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 +138,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 +164,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 +203,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 +231,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); |