Chromium Code Reviews| Index: chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views_unittest.cc |
| diff --git a/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views_unittest.cc b/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views_unittest.cc |
| index d5d1f6cbcb1c9d8f41441d5ba5764e3c12df8406..b3238d1e1fd69461cf902b5dcef6f6c018a790cf 100644 |
| --- a/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views_unittest.cc |
| +++ b/chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views_unittest.cc |
| @@ -9,6 +9,10 @@ |
| #include "base/run_loop.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "chrome/browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.h" |
| +#include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h" |
| +#include "chrome/grit/generated_resources.h" |
| +#include "components/grit/components_scaled_resources.h" |
| +#include "ui/base/l10n/l10n_util.h" |
| #include "ui/events/event_utils.h" |
| #include "ui/events/test/event_generator.h" |
| #include "ui/views/controls/button/label_button.h" |
| @@ -19,6 +23,11 @@ |
| #include "ui/views/window/dialog_client_view.h" |
| class ToolbarActionsBarBubbleViewsTest : public views::ViewsTestBase { |
| + public: |
| + views::View* TestCreateExtraView() { |
| + return (bubble_) ? bubble_->CreateExtraView() : nullptr; |
| + } |
| + |
| protected: |
| ToolbarActionsBarBubbleViewsTest() {} |
| ~ToolbarActionsBarBubbleViewsTest() override {} |
| @@ -125,7 +134,13 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, |
| TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| ActionString()); |
| delegate.set_dismiss_button_text(DismissString()); |
| - delegate.set_learn_more_button_text(LearnMoreString()); |
| + |
| + ToolbarActionsBarBubbleDelegate::ExtraViewInfo extra_view_info_linked_text; |
| + |
| + extra_view_info_linked_text.text = LearnMoreString(); |
| + extra_view_info_linked_text.is_text_linked = true; |
| + delegate.set_extra_view_info(extra_view_info_linked_text); |
| + |
| ShowBubble(&delegate); |
| EXPECT_TRUE(bubble()->GetDialogClientView()->ok_button()); |
| @@ -260,3 +275,84 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestDontCloseOnDeactivation) { |
| EXPECT_FALSE(delegate.close_action()); |
| CloseBubble(); |
| } |
| + |
| +TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewEmpty) { |
| + TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| + ActionString()); |
| + ToolbarActionsBarBubbleDelegate::ExtraViewInfo extra_view_info; |
|
Devlin
2016/09/26 20:13:10
Don't we need to set this on the delegate?
catmullings
2016/10/06 18:24:19
Done.
|
| + |
| + ShowBubble(&delegate); |
| + |
| + views::View* extra_view = TestCreateExtraView(); |
| + EXPECT_FALSE(extra_view); |
| + CloseBubble(); |
| +} |
| + |
| +TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewIconOnly) { |
| + TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| + ActionString()); |
| + ToolbarActionsBarBubbleDelegate::ExtraViewInfo extra_view_info; |
| + |
| + extra_view_info.resource_id = IDR_OMNIBOX_HTTPS_POLICY_WARNING; |
| + delegate.set_extra_view_info(extra_view_info); |
| + ShowBubble(&delegate); |
| + std::unique_ptr<views::View> extra_view(TestCreateExtraView()); |
| + EXPECT_TRUE(extra_view); |
| + EXPECT_EQ("ImageView", std::string(extra_view->GetClassName())); |
| + CloseBubble(); |
| +} |
| + |
| +TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewLinkedTextOnly) { |
| + TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| + ActionString()); |
| + ToolbarActionsBarBubbleDelegate::ExtraViewInfo extra_view_info_linked_text; |
| + |
| + extra_view_info_linked_text.text = |
| + l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); |
| + extra_view_info_linked_text.is_text_linked = true; |
| + delegate.set_extra_view_info(extra_view_info_linked_text); |
| + |
| + ShowBubble(&delegate); |
| + |
| + views::View* extra_view = TestCreateExtraView(); |
| + EXPECT_TRUE(extra_view); |
| + EXPECT_EQ("Link", std::string(extra_view->GetClassName())); |
| + CloseBubble(); |
| +} |
| + |
| +TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewLabelTextOnly) { |
| + TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| + ActionString()); |
| + ToolbarActionsBarBubbleDelegate::ExtraViewInfo extra_view_info; |
| + |
| + extra_view_info.text = |
| + l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); |
| + extra_view_info.is_text_linked = false; |
| + delegate.set_extra_view_info(extra_view_info); |
| + |
| + ShowBubble(&delegate); |
| + |
| + views::View* extra_view = TestCreateExtraView(); |
| + EXPECT_TRUE(extra_view); |
| + EXPECT_EQ("Label", std::string(extra_view->GetClassName())); |
| + CloseBubble(); |
| +} |
| + |
| +TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewImageAndText) { |
| + TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| + ActionString()); |
| + ToolbarActionsBarBubbleDelegate::ExtraViewInfo extra_view_info; |
| + extra_view_info.resource_id = IDR_OMNIBOX_HTTPS_POLICY_WARNING; |
| + extra_view_info.text = |
| + l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); |
| + extra_view_info.is_text_linked = false; |
| + delegate.set_extra_view_info(extra_view_info); |
| + |
| + ShowBubble(&delegate); |
| + |
| + views::View* extra_view = TestCreateExtraView(); |
| + EXPECT_TRUE(extra_view); |
| + EXPECT_EQ("View", std::string(extra_view->GetClassName())); |
| + EXPECT_EQ(2, extra_view->child_count()); |
| + CloseBubble(); |
| +} |