Chromium Code Reviews| 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/extensions/chooser_dialog_view.h" | 5 #include "chrome/browser/ui/views/extensions/chooser_dialog_view.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| 11 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" | 11 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" |
| 12 #include "chrome/browser/ui/views/chooser_content_view.h" | 12 #include "chrome/browser/ui/views/chooser_content_view.h" |
| 13 #include "chrome/grit/generated_resources.h" | 13 #include "chrome/grit/generated_resources.h" |
| 14 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
| 15 #include "ui/base/l10n/l10n_util.h" | 15 #include "ui/base/l10n/l10n_util.h" |
| 16 #include "ui/views/controls/button/label_button.h" | 16 #include "ui/views/controls/button/label_button.h" |
| 17 #include "ui/views/controls/styled_label.h" | 17 #include "ui/views/controls/styled_label.h" |
| 18 #include "ui/views/controls/table/table_view.h" | 18 #include "ui/views/controls/table/table_view.h" |
| 19 #include "ui/views/test/native_widget_factory.h" | |
| 19 #include "ui/views/test/views_test_base.h" | 20 #include "ui/views/test/views_test_base.h" |
| 20 #include "ui/views/widget/widget.h" | 21 #include "ui/views/widget/widget.h" |
| 21 #include "ui/views/window/dialog_client_view.h" | 22 #include "ui/views/window/dialog_client_view.h" |
| 22 | 23 |
| 23 class ChooserDialogViewTest : public views::ViewsTestBase { | 24 class ChooserDialogViewTest : public views::ViewsTestBase { |
| 24 public: | 25 public: |
| 25 ChooserDialogViewTest() {} | 26 ChooserDialogViewTest() {} |
| 26 ~ChooserDialogViewTest() override {} | 27 ~ChooserDialogViewTest() override {} |
| 27 | 28 |
| 28 // views::ViewsTestBase: | 29 // views::ViewsTestBase: |
| 29 void SetUp() override { | 30 void SetUp() override { |
| 30 views::ViewsTestBase::SetUp(); | 31 views::ViewsTestBase::SetUp(); |
| 31 std::unique_ptr<MockChooserController> mock_chooser_controller( | 32 std::unique_ptr<MockChooserController> mock_chooser_controller( |
| 32 new MockChooserController(nullptr)); | 33 new MockChooserController(nullptr)); |
| 33 mock_chooser_controller_ = mock_chooser_controller.get(); | 34 mock_chooser_controller_ = mock_chooser_controller.get(); |
| 34 std::unique_ptr<ChooserDialogView> chooser_dialog_view( | 35 std::unique_ptr<ChooserDialogView> chooser_dialog_view( |
| 35 new ChooserDialogView(std::move(mock_chooser_controller))); | 36 new ChooserDialogView(std::move(mock_chooser_controller))); |
| 36 footnote_link_.reset(chooser_dialog_view->chooser_content_view_for_test() | |
| 37 ->CreateFootnoteView()); | |
| 38 chooser_dialog_view_ = chooser_dialog_view.get(); | 37 chooser_dialog_view_ = chooser_dialog_view.get(); |
| 39 table_view_ = | 38 table_view_ = |
| 40 chooser_dialog_view_->chooser_content_view_for_test()->table_view_; | 39 chooser_dialog_view_->chooser_content_view_for_test()->table_view_; |
| 41 ASSERT_TRUE(table_view_); | 40 ASSERT_TRUE(table_view_); |
| 41 | |
| 42 views::Widget::InitParams params = | |
| 43 CreateParams(views::Widget::InitParams::TYPE_WINDOW); | |
| 44 params.bounds = gfx::Rect(0, 0, 600, 600); | |
| 45 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | |
| 46 params.native_widget = views::test::CreatePlatformDesktopNativeWidgetImpl( | |
| 47 params, &parent_widget, nullptr); | |
| 48 parent_widget.Init(params); | |
| 49 | |
| 42 dialog_ = views::DialogDelegate::CreateDialogWidget( | 50 dialog_ = views::DialogDelegate::CreateDialogWidget( |
| 43 chooser_dialog_view.release(), GetContext(), nullptr); | 51 chooser_dialog_view.release(), GetContext(), |
| 52 parent_widget.GetNativeView()); | |
| 44 ASSERT_TRUE(dialog_); | 53 ASSERT_TRUE(dialog_); |
| 45 ok_button_ = chooser_dialog_view_->GetDialogClientView()->ok_button(); | 54 ok_button_ = chooser_dialog_view_->GetDialogClientView()->ok_button(); |
| 46 ASSERT_TRUE(ok_button_); | 55 ASSERT_TRUE(ok_button_); |
| 47 cancel_button_ = | 56 cancel_button_ = |
| 48 chooser_dialog_view_->GetDialogClientView()->cancel_button(); | 57 chooser_dialog_view_->GetDialogClientView()->cancel_button(); |
| 49 ASSERT_TRUE(cancel_button_); | 58 ASSERT_TRUE(cancel_button_); |
| 50 } | 59 } |
| 51 | 60 |
| 52 // views::ViewsTestBase: | 61 // views::ViewsTestBase: |
| 53 void TearDown() override { | 62 void TearDown() override { |
| 54 dialog_->CloseNow(); | 63 dialog_->CloseNow(); |
| 64 parent_widget.CloseNow(); | |
| 55 views::ViewsTestBase::TearDown(); | 65 views::ViewsTestBase::TearDown(); |
| 56 } | 66 } |
| 57 | 67 |
| 58 protected: | 68 protected: |
| 59 MockChooserController* mock_chooser_controller_; | 69 MockChooserController* mock_chooser_controller_; |
| 60 ChooserDialogView* chooser_dialog_view_; | 70 ChooserDialogView* chooser_dialog_view_; |
| 61 std::unique_ptr<views::StyledLabel> footnote_link_; | 71 views::Widget parent_widget; |
|
sky
2016/11/09 17:55:47
parent_widget_. Also, I think it better to wrap th
juncai
2016/11/09 20:25:02
Done.
| |
| 62 views::TableView* table_view_; | 72 views::TableView* table_view_; |
| 63 views::LabelButton* ok_button_; | 73 views::LabelButton* ok_button_; |
| 64 views::LabelButton* cancel_button_; | 74 views::LabelButton* cancel_button_; |
| 65 views::Widget* dialog_; | 75 views::Widget* dialog_; |
| 66 | 76 |
| 67 private: | 77 private: |
| 68 DISALLOW_COPY_AND_ASSIGN(ChooserDialogViewTest); | 78 DISALLOW_COPY_AND_ASSIGN(ChooserDialogViewTest); |
| 69 }; | 79 }; |
| 70 | 80 |
| 71 TEST_F(ChooserDialogViewTest, InitialState) { | 81 TEST_F(ChooserDialogViewTest, InitialState) { |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 372 EXPECT_TRUE(cancel_button_->enabled()); | 382 EXPECT_TRUE(cancel_button_->enabled()); |
| 373 table_view_->Select(0); | 383 table_view_->Select(0); |
| 374 EXPECT_TRUE(ok_button_->enabled()); | 384 EXPECT_TRUE(ok_button_->enabled()); |
| 375 EXPECT_TRUE(cancel_button_->enabled()); | 385 EXPECT_TRUE(cancel_button_->enabled()); |
| 376 | 386 |
| 377 mock_chooser_controller_->OnDiscoveryStateChanged( | 387 mock_chooser_controller_->OnDiscoveryStateChanged( |
| 378 content::BluetoothChooser::DiscoveryState::IDLE); | 388 content::BluetoothChooser::DiscoveryState::IDLE); |
| 379 EXPECT_TRUE(ok_button_->enabled()); | 389 EXPECT_TRUE(ok_button_->enabled()); |
| 380 EXPECT_TRUE(cancel_button_->enabled()); | 390 EXPECT_TRUE(cancel_button_->enabled()); |
| 381 } | 391 } |
| OLD | NEW |