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/chooser_content_view.h" | 5 #include "chrome/browser/ui/views/chooser_content_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/memory/ptr_util.h" | |
| 10 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
| 11 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" | 12 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" |
| 12 #include "chrome/grit/generated_resources.h" | 13 #include "chrome/grit/generated_resources.h" |
| 13 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
| 14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 15 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
| 16 #include "ui/views/controls/link.h" | 17 #include "ui/views/controls/link.h" |
| 17 #include "ui/views/controls/styled_label.h" | 18 #include "ui/views/controls/styled_label.h" |
| 18 #include "ui/views/controls/table/table_view.h" | 19 #include "ui/views/controls/table/table_view.h" |
| 19 #include "ui/views/controls/table/table_view_observer.h" | 20 #include "ui/views/controls/table/table_view_observer.h" |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 39 class ChooserContentViewTest : public views::ViewsTestBase { | 40 class ChooserContentViewTest : public views::ViewsTestBase { |
| 40 public: | 41 public: |
| 41 ChooserContentViewTest() {} | 42 ChooserContentViewTest() {} |
| 42 | 43 |
| 43 // views::ViewsTestBase: | 44 // views::ViewsTestBase: |
| 44 void SetUp() override { | 45 void SetUp() override { |
| 45 views::ViewsTestBase::SetUp(); | 46 views::ViewsTestBase::SetUp(); |
| 46 std::unique_ptr<MockChooserController> mock_chooser_controller( | 47 std::unique_ptr<MockChooserController> mock_chooser_controller( |
| 47 new MockChooserController(nullptr)); | 48 new MockChooserController(nullptr)); |
| 48 mock_chooser_controller_ = mock_chooser_controller.get(); | 49 mock_chooser_controller_ = mock_chooser_controller.get(); |
| 49 mock_table_view_observer_.reset(new MockTableViewObserver()); | 50 mock_table_view_observer_ = base::MakeUnique<MockTableViewObserver>(); |
| 50 chooser_content_view_.reset(new ChooserContentView( | 51 chooser_content_view_ = base::MakeUnique<ChooserContentView>( |
| 51 mock_table_view_observer_.get(), std::move(mock_chooser_controller))); | 52 mock_table_view_observer_.get(), std::move(mock_chooser_controller)); |
| 52 table_view_ = chooser_content_view_->table_view_; | 53 table_view_ = chooser_content_view_->table_view_; |
| 53 ASSERT_TRUE(table_view_); | 54 ASSERT_TRUE(table_view_); |
| 54 table_model_ = table_view_->model(); | 55 table_model_ = table_view_->model(); |
| 55 ASSERT_TRUE(table_model_); | 56 ASSERT_TRUE(table_model_); |
| 56 throbber_ = chooser_content_view_->throbber_; | 57 throbber_ = chooser_content_view_->throbber_; |
| 57 ASSERT_TRUE(throbber_); | 58 ASSERT_TRUE(throbber_); |
| 58 turn_adapter_off_help_ = chooser_content_view_->turn_adapter_off_help_; | 59 turn_adapter_off_help_ = chooser_content_view_->turn_adapter_off_help_; |
| 59 ASSERT_TRUE(turn_adapter_off_help_); | 60 ASSERT_TRUE(turn_adapter_off_help_); |
| 60 footnote_link_.reset(chooser_content_view_->CreateFootnoteView()); | 61 footnote_link_ = chooser_content_view_->footnote_link(); |
| 61 ASSERT_TRUE(footnote_link_); | 62 ASSERT_TRUE(footnote_link_); |
| 62 } | 63 } |
| 63 | 64 |
| 64 protected: | 65 protected: |
| 65 std::unique_ptr<MockTableViewObserver> mock_table_view_observer_; | 66 std::unique_ptr<MockTableViewObserver> mock_table_view_observer_; |
| 66 std::unique_ptr<ChooserContentView> chooser_content_view_; | 67 std::unique_ptr<ChooserContentView> chooser_content_view_; |
| 67 MockChooserController* mock_chooser_controller_; | 68 MockChooserController* mock_chooser_controller_; |
| 68 views::TableView* table_view_; | 69 views::TableView* table_view_; |
| 69 ui::TableModel* table_model_; | 70 ui::TableModel* table_model_; |
| 70 views::Throbber* throbber_; | 71 views::Throbber* throbber_; |
| 71 views::StyledLabel* turn_adapter_off_help_; | 72 views::StyledLabel* turn_adapter_off_help_; |
| 72 std::unique_ptr<views::StyledLabel> footnote_link_; | 73 views::StyledLabel* footnote_link_; |
|
sky
2016/11/09 22:26:43
optional: nuke this and expose a footnote_link() f
juncai
2016/11/09 23:44:38
Thanks for all the comments!
Done.
| |
| 73 | 74 |
| 74 private: | 75 private: |
| 75 DISALLOW_COPY_AND_ASSIGN(ChooserContentViewTest); | 76 DISALLOW_COPY_AND_ASSIGN(ChooserContentViewTest); |
| 76 }; | 77 }; |
| 77 | 78 |
| 78 TEST_F(ChooserContentViewTest, InitialState) { | 79 TEST_F(ChooserContentViewTest, InitialState) { |
| 79 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0); | 80 EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0); |
| 80 | 81 |
| 81 EXPECT_TRUE(table_view_->visible()); | 82 EXPECT_TRUE(table_view_->visible()); |
| 82 // Since "No devices found." needs to be displayed on the |table_view_|, | 83 // Since "No devices found." needs to be displayed on the |table_view_|, |
| (...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 622 } | 623 } |
| 623 | 624 |
| 624 TEST_F(ChooserContentViewTest, ClickAdapterOffHelpLink) { | 625 TEST_F(ChooserContentViewTest, ClickAdapterOffHelpLink) { |
| 625 EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1); | 626 EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1); |
| 626 turn_adapter_off_help_->LinkClicked(nullptr, 0); | 627 turn_adapter_off_help_->LinkClicked(nullptr, 0); |
| 627 } | 628 } |
| 628 | 629 |
| 629 TEST_F(ChooserContentViewTest, ClickRescanLink) { | 630 TEST_F(ChooserContentViewTest, ClickRescanLink) { |
| 630 EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1); | 631 EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1); |
| 631 chooser_content_view_->StyledLabelLinkClicked( | 632 chooser_content_view_->StyledLabelLinkClicked( |
| 632 footnote_link_.get(), chooser_content_view_->re_scan_text_range_, 0); | 633 footnote_link_, chooser_content_view_->re_scan_text_range_, 0); |
| 633 } | 634 } |
| 634 | 635 |
| 635 TEST_F(ChooserContentViewTest, ClickGetHelpLink) { | 636 TEST_F(ChooserContentViewTest, ClickGetHelpLink) { |
| 636 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); | 637 EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1); |
| 637 chooser_content_view_->StyledLabelLinkClicked( | 638 chooser_content_view_->StyledLabelLinkClicked( |
| 638 footnote_link_.get(), chooser_content_view_->help_text_range_, 0); | 639 footnote_link_, chooser_content_view_->help_text_range_, 0); |
| 639 } | 640 } |
| OLD | NEW |