OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" | 5 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
11 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
12 #include "chrome/browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.h" | 12 #include "chrome/browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.h" |
13 #include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h" | 13 #include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h" |
14 #include "chrome/grit/generated_resources.h" | 14 #include "chrome/grit/generated_resources.h" |
15 #include "components/grit/components_scaled_resources.h" | 15 #include "components/grit/components_scaled_resources.h" |
16 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
17 #include "ui/base/resource/resource_bundle.h" | 17 #include "ui/base/resource/resource_bundle.h" |
18 #include "ui/events/event_utils.h" | 18 #include "ui/events/event_utils.h" |
19 #include "ui/events/test/event_generator.h" | 19 #include "ui/events/test/event_generator.h" |
20 #include "ui/gfx/color_palette.h" | 20 #include "ui/gfx/color_palette.h" |
21 #include "ui/gfx/image/image.h" | 21 #include "ui/gfx/image/image.h" |
22 #include "ui/gfx/image/image_unittest_util.h" | 22 #include "ui/gfx/image/image_unittest_util.h" |
23 #include "ui/gfx/paint_vector_icon.h" | 23 #include "ui/gfx/paint_vector_icon.h" |
24 #include "ui/gfx/vector_icons_public.h" | 24 #include "ui/vector_icons/vector_icons.h" |
25 #include "ui/views/controls/button/label_button.h" | 25 #include "ui/views/controls/button/label_button.h" |
26 #include "ui/views/controls/link.h" | 26 #include "ui/views/controls/link.h" |
27 #include "ui/views/test/test_widget_observer.h" | 27 #include "ui/views/test/test_widget_observer.h" |
28 #include "ui/views/test/views_test_base.h" | 28 #include "ui/views/test/views_test_base.h" |
29 #include "ui/views/widget/widget.h" | 29 #include "ui/views/widget/widget.h" |
30 #include "ui/views/window/dialog_client_view.h" | 30 #include "ui/views/window/dialog_client_view.h" |
31 | 31 |
32 namespace { | 32 namespace { |
33 const int kIconSize = 16; | 33 const int kIconSize = 16; |
34 } | 34 } |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 ASSERT_FALSE(extra_view); | 314 ASSERT_FALSE(extra_view); |
315 CloseBubble(); | 315 CloseBubble(); |
316 } | 316 } |
317 | 317 |
318 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewIconOnly) { | 318 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewIconOnly) { |
319 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 319 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
320 ActionString()); | 320 ActionString()); |
321 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> | 321 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> |
322 extra_view_info = | 322 extra_view_info = |
323 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); | 323 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); |
324 extra_view_info->resource_id = gfx::VectorIconId::BUSINESS; | 324 extra_view_info->resource = &ui::kBusinessIcon; |
325 delegate.set_extra_view_info(std::move(extra_view_info)); | 325 delegate.set_extra_view_info(std::move(extra_view_info)); |
326 ShowBubble(&delegate); | 326 ShowBubble(&delegate); |
327 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); | 327 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); |
328 ASSERT_TRUE(extra_view); | 328 ASSERT_TRUE(extra_view); |
329 ASSERT_EQ("ImageView", std::string(extra_view->GetClassName())); | 329 ASSERT_EQ("ImageView", std::string(extra_view->GetClassName())); |
330 EXPECT_TRUE(gfx::test::AreImagesEqual( | 330 EXPECT_TRUE(gfx::test::AreImagesEqual( |
331 gfx::Image(static_cast<views::ImageView*>(extra_view.get())->GetImage()), | 331 gfx::Image(static_cast<views::ImageView*>(extra_view.get())->GetImage()), |
332 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, kIconSize, | 332 gfx::Image(gfx::CreateVectorIcon(ui::kBusinessIcon, kIconSize, |
333 gfx::kChromeIconGrey)))); | 333 gfx::kChromeIconGrey)))); |
334 CloseBubble(); | 334 CloseBubble(); |
335 } | 335 } |
336 | 336 |
337 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewLinkedTextOnly) { | 337 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewLinkedTextOnly) { |
338 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 338 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
339 ActionString()); | 339 ActionString()); |
340 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> | 340 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> |
341 extra_view_info_linked_text = | 341 extra_view_info_linked_text = |
342 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); | 342 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 static_cast<views::Label*>(extra_view.get())->text()); | 375 static_cast<views::Label*>(extra_view.get())->text()); |
376 CloseBubble(); | 376 CloseBubble(); |
377 } | 377 } |
378 | 378 |
379 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewImageAndText) { | 379 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewImageAndText) { |
380 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 380 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
381 ActionString()); | 381 ActionString()); |
382 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> | 382 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> |
383 extra_view_info = | 383 extra_view_info = |
384 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); | 384 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); |
385 extra_view_info->resource_id = gfx::VectorIconId::BUSINESS; | 385 extra_view_info->resource = &ui::kBusinessIcon; |
386 extra_view_info->text = | 386 extra_view_info->text = |
387 l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); | 387 l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); |
388 extra_view_info->is_text_linked = false; | 388 extra_view_info->is_text_linked = false; |
389 delegate.set_extra_view_info(std::move(extra_view_info)); | 389 delegate.set_extra_view_info(std::move(extra_view_info)); |
390 | 390 |
391 ShowBubble(&delegate); | 391 ShowBubble(&delegate); |
392 | 392 |
393 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); | 393 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); |
394 ASSERT_TRUE(extra_view); | 394 ASSERT_TRUE(extra_view); |
395 EXPECT_EQ("View", std::string(extra_view->GetClassName())); | 395 EXPECT_EQ("View", std::string(extra_view->GetClassName())); |
396 EXPECT_EQ(2, extra_view->child_count()); | 396 EXPECT_EQ(2, extra_view->child_count()); |
397 | 397 |
398 for (int i = 0; i < 2; i++) { | 398 for (int i = 0; i < 2; i++) { |
399 const views::View* v = extra_view->child_at(i); | 399 const views::View* v = extra_view->child_at(i); |
400 std::string class_name = v->GetClassName(); | 400 std::string class_name = v->GetClassName(); |
401 ASSERT_TRUE(class_name == "Label" || class_name == "ImageView"); | 401 ASSERT_TRUE(class_name == "Label" || class_name == "ImageView"); |
402 if (class_name == "Label") { | 402 if (class_name == "Label") { |
403 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN), | 403 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN), |
404 static_cast<const views::Label*>(v)->text()); | 404 static_cast<const views::Label*>(v)->text()); |
405 } else { | 405 } else { |
406 EXPECT_TRUE(gfx::test::AreImagesEqual( | 406 EXPECT_TRUE(gfx::test::AreImagesEqual( |
407 gfx::Image(static_cast<const views::ImageView*>(v)->GetImage()), | 407 gfx::Image(static_cast<const views::ImageView*>(v)->GetImage()), |
408 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, | 408 gfx::Image(gfx::CreateVectorIcon(ui::kBusinessIcon, kIconSize, |
409 kIconSize, gfx::kChromeIconGrey)))); | 409 gfx::kChromeIconGrey)))); |
410 } | 410 } |
411 } | 411 } |
412 | 412 |
413 CloseBubble(); | 413 CloseBubble(); |
414 } | 414 } |
OLD | NEW |