Commit 6599fd42 authored by Leonard Grey's avatar Leonard Grey Committed by Commit Bot

Polychrome: make (most of) unit_tests pass

This excludes TranslateBubbleViewTest.AlwaysTranslateLanguageMenuItem which needs to be rewritten.


Change-Id: I81609db0da69f6529f043340f542d179622d0a0d
Reviewed-on: https://chromium-review.googlesource.com/963609Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Leonard Grey <lgrey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544120}
parent 0465b7fe
...@@ -32,9 +32,9 @@ ...@@ -32,9 +32,9 @@
namespace { namespace {
class AlertIndicatorButtonTest : public CocoaTest { class AlertIndicatorButtonTestCocoa : public CocoaTest {
public: public:
AlertIndicatorButtonTest() AlertIndicatorButtonTestCocoa()
: scoped_task_environment_( : scoped_task_environment_(
base::test::ScopedTaskEnvironment::MainThreadType::UI) { base::test::ScopedTaskEnvironment::MainThreadType::UI) {
base::CommandLine::ForCurrentProcess()->AppendSwitch( base::CommandLine::ForCurrentProcess()->AppendSwitch(
...@@ -89,6 +89,6 @@ class AlertIndicatorButtonTest : public CocoaTest { ...@@ -89,6 +89,6 @@ class AlertIndicatorButtonTest : public CocoaTest {
base::test::ScopedTaskEnvironment scoped_task_environment_; base::test::ScopedTaskEnvironment scoped_task_environment_;
}; };
TEST_VIEW(AlertIndicatorButtonTest, button_) TEST_VIEW(AlertIndicatorButtonTestCocoa, button_)
} // namespace } // namespace
...@@ -51,9 +51,6 @@ DeviceChooserContentView::BluetoothStatusContainer::BluetoothStatusContainer( ...@@ -51,9 +51,6 @@ DeviceChooserContentView::BluetoothStatusContainer::BluetoothStatusContainer(
l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN_TOOLTIP)); l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN_TOOLTIP));
re_scan_button_->SetFocusForPlatform(); re_scan_button_->SetFocusForPlatform();
re_scan_button_->set_tag(kReScanButtonTag); re_scan_button_->set_tag(kReScanButtonTag);
// Ensures that the focus will never cycle to the help button, because that's
// rarely useful and can look weird.
re_scan_button_->set_request_focus_on_press(true);
AddChildView(re_scan_button_); AddChildView(re_scan_button_);
throbber_ = new views::Throbber(); throbber_ = new views::Throbber();
...@@ -304,6 +301,11 @@ void DeviceChooserContentView::ButtonPressed(views::Button* sender, ...@@ -304,6 +301,11 @@ void DeviceChooserContentView::ButtonPressed(views::Button* sender,
if (sender->tag() == kHelpButtonTag) { if (sender->tag() == kHelpButtonTag) {
chooser_controller_->OpenHelpCenterUrl(); chooser_controller_->OpenHelpCenterUrl();
} else if (sender->tag() == kReScanButtonTag) { } else if (sender->tag() == kReScanButtonTag) {
// Refreshing will cause the table view to yield focus, which
// will land on the help button. Instead, briefly let the
// rescan button take focus. When it hides itself, focus will
// advance to the "Cancel" button as desired.
sender->RequestFocus();
chooser_controller_->RefreshOptions(); chooser_controller_->RefreshOptions();
} else { } else {
NOTREACHED(); NOTREACHED();
......
// Copyright 2016 The Chromium Authors. All rights reserved. // Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/ui/views/extensions/chooser_dialog_view.h" #include "chrome/browser/ui/views/extensions/chooser_dialog_view.h"
#include <memory> #include <memory>
#include "base/macros.h" #include "base/macros.h"
#include "build/build_config.h"
#include "chrome/browser/chooser_controller/fake_bluetooth_chooser_controller.h" #include "chrome/browser/chooser_controller/fake_bluetooth_chooser_controller.h"
#include "chrome/browser/ui/views/device_chooser_content_view.h" #include "chrome/browser/ui/views/device_chooser_content_view.h"
#include "chrome/test/views/chrome_views_test_base.h" #include "chrome/test/views/chrome_views_test_base.h"
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "ui/events/base_event_utils.h" #include "ui/events/base_event_utils.h"
#include "ui/views/controls/button/label_button.h" #include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/table/table_view.h" #include "ui/views/controls/table/table_view.h"
#include "ui/views/test/native_widget_factory.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
#include "ui/views/window/dialog_client_view.h" #include "ui/views/window/dialog_client_view.h"
...@@ -27,8 +28,28 @@ class ChooserDialogViewTest : public ChromeViewsTestBase { ...@@ -27,8 +28,28 @@ class ChooserDialogViewTest : public ChromeViewsTestBase {
controller_ = controller.get(); controller_ = controller.get();
dialog_ = new ChooserDialogView(std::move(controller)); dialog_ = new ChooserDialogView(std::move(controller));
#if defined(OS_MACOSX)
// We need a native view parent for the dialog to avoid a DCHECK
// on Mac.
views::Widget::InitParams params =
CreateParams(views::Widget::InitParams::TYPE_WINDOW);
params.bounds = gfx::Rect(10, 11, 200, 200);
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.native_widget = views::test::CreatePlatformDesktopNativeWidgetImpl(
params, &parent_widget_, nullptr);
parent_widget_.Init(params);
widget_ = views::DialogDelegate::CreateDialogWidget(
dialog_, GetContext(), parent_widget_.GetNativeView());
widget_->SetVisibilityChangedAnimationsEnabled(false);
// Necessary for Mac. On other platforms this happens in the focus
// manager, but it's disabled for Mac due to crbug.com/650859.
parent_widget_.Activate();
widget_->Activate();
#else
widget_ = views::DialogDelegate::CreateDialogWidget(dialog_, GetContext(), widget_ = views::DialogDelegate::CreateDialogWidget(dialog_, GetContext(),
nullptr); nullptr);
#endif
controller_->SetBluetoothStatus( controller_->SetBluetoothStatus(
FakeBluetoothChooserController::BluetoothStatus::IDLE); FakeBluetoothChooserController::BluetoothStatus::IDLE);
...@@ -38,6 +59,9 @@ class ChooserDialogViewTest : public ChromeViewsTestBase { ...@@ -38,6 +59,9 @@ class ChooserDialogViewTest : public ChromeViewsTestBase {
void TearDown() override { void TearDown() override {
widget_->Close(); widget_->Close();
#if defined(OS_MACOSX)
parent_widget_.Close();
#endif
ChromeViewsTestBase::TearDown(); ChromeViewsTestBase::TearDown();
} }
...@@ -62,6 +86,9 @@ class ChooserDialogViewTest : public ChromeViewsTestBase { ...@@ -62,6 +86,9 @@ class ChooserDialogViewTest : public ChromeViewsTestBase {
FakeBluetoothChooserController* controller_ = nullptr; FakeBluetoothChooserController* controller_ = nullptr;
private: private:
#if defined(OS_MACOSX)
views::Widget parent_widget_;
#endif
views::Widget* widget_ = nullptr; views::Widget* widget_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(ChooserDialogViewTest); DISALLOW_COPY_AND_ASSIGN(ChooserDialogViewTest);
......
...@@ -34,7 +34,7 @@ class ToolbarActionsBarBubbleViews : public views::BubbleDialogDelegateView, ...@@ -34,7 +34,7 @@ class ToolbarActionsBarBubbleViews : public views::BubbleDialogDelegateView,
void Show(); void Show();
const views::Label* item_list() const { return item_list_; } const views::Label* item_list() const { return item_list_; }
const views::ImageButton* learn_more_button() const { return image_button_; } views::ImageButton* learn_more_button() const { return image_button_; }
private: private:
friend class ToolbarActionsBarBubbleViewsTest; friend class ToolbarActionsBarBubbleViewsTest;
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
#include "ui/events/event_utils.h" #include "ui/events/event_utils.h"
#include "ui/events/test/event_generator.h"
#include "ui/gfx/color_palette.h" #include "ui/gfx/color_palette.h"
#include "ui/gfx/image/image.h" #include "ui/gfx/image/image.h"
#include "ui/gfx/image/image_unittest_util.h" #include "ui/gfx/image/image_unittest_util.h"
...@@ -86,12 +85,14 @@ class ToolbarActionsBarBubbleViewsTest : public views::ViewsTestBase { ...@@ -86,12 +85,14 @@ class ToolbarActionsBarBubbleViewsTest : public views::ViewsTestBase {
bubble_widget_ = nullptr; bubble_widget_ = nullptr;
} }
void ClickView(const views::View* view) { void ClickButton(views::Button* button) {
ASSERT_TRUE(view); ASSERT_TRUE(button);
ui::test::EventGenerator generator(GetContext(), const gfx::Point point(10, 10);
anchor_widget_->GetNativeWindow()); const ui::MouseEvent event(ui::ET_MOUSE_PRESSED, point, point,
generator.MoveMouseTo(view->GetBoundsInScreen().CenterPoint()); ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON,
generator.ClickLeftButton(); ui::EF_LEFT_MOUSE_BUTTON);
button->OnMousePressed(event);
button->OnMouseReleased(event);
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
} }
...@@ -250,7 +251,8 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestClickActionButton) { ...@@ -250,7 +251,8 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestClickActionButton) {
views::test::TestWidgetObserver bubble_observer(bubble_widget()); views::test::TestWidgetObserver bubble_observer(bubble_widget());
EXPECT_FALSE(delegate.close_action()); EXPECT_FALSE(delegate.close_action());
ClickView(bubble()->GetDialogClientView()->ok_button());
ClickButton(bubble()->GetDialogClientView()->ok_button());
ASSERT_TRUE(delegate.close_action()); ASSERT_TRUE(delegate.close_action());
EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_EXECUTE, EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_EXECUTE,
*delegate.close_action()); *delegate.close_action());
...@@ -266,7 +268,8 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestClickDismissButton) { ...@@ -266,7 +268,8 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestClickDismissButton) {
views::test::TestWidgetObserver bubble_observer(bubble_widget()); views::test::TestWidgetObserver bubble_observer(bubble_widget());
EXPECT_FALSE(delegate.close_action()); EXPECT_FALSE(delegate.close_action());
ClickView(bubble()->GetDialogClientView()->cancel_button());
ClickButton(bubble()->GetDialogClientView()->cancel_button());
ASSERT_TRUE(delegate.close_action()); ASSERT_TRUE(delegate.close_action());
EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS_USER_ACTION, EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS_USER_ACTION,
*delegate.close_action()); *delegate.close_action());
...@@ -281,7 +284,8 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestClickLearnMoreLink) { ...@@ -281,7 +284,8 @@ TEST_F(ToolbarActionsBarBubbleViewsTest, TestClickLearnMoreLink) {
views::test::TestWidgetObserver bubble_observer(bubble_widget()); views::test::TestWidgetObserver bubble_observer(bubble_widget());
EXPECT_FALSE(delegate.close_action()); EXPECT_FALSE(delegate.close_action());
ClickView(bubble()->learn_more_button());
ClickButton(bubble()->learn_more_button());
ASSERT_TRUE(delegate.close_action()); ASSERT_TRUE(delegate.close_action());
EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_LEARN_MORE, EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_LEARN_MORE,
*delegate.close_action()); *delegate.close_action());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment