| Index: chrome/browser/ui/views/chooser_content_view_unittest.cc
|
| diff --git a/chrome/browser/ui/views/chooser_content_view_unittest.cc b/chrome/browser/ui/views/chooser_content_view_unittest.cc
|
| deleted file mode 100644
|
| index dbfd15395ffff64d14af3d36d2f8a3814cf10c74..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/chooser_content_view_unittest.cc
|
| +++ /dev/null
|
| @@ -1,641 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/views/chooser_content_view.h"
|
| -
|
| -#include <memory>
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/memory/ptr_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/chooser_controller/mock_chooser_controller.h"
|
| -#include "chrome/grit/generated_resources.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/base/models/list_selection_model.h"
|
| -#include "ui/views/controls/link.h"
|
| -#include "ui/views/controls/styled_label.h"
|
| -#include "ui/views/controls/table/table_view.h"
|
| -#include "ui/views/controls/table/table_view_observer.h"
|
| -#include "ui/views/controls/throbber.h"
|
| -#include "ui/views/test/views_test_base.h"
|
| -
|
| -namespace {
|
| -
|
| -class MockTableViewObserver : public views::TableViewObserver {
|
| - public:
|
| - // views::TableViewObserver:
|
| - MOCK_METHOD0(OnSelectionChanged, void());
|
| -};
|
| -
|
| -base::string16 GetPairedText(const std::string& device_name) {
|
| - return l10n_util::GetStringFUTF16(
|
| - IDS_DEVICE_CHOOSER_DEVICE_NAME_AND_PAIRED_STATUS_TEXT,
|
| - base::ASCIIToUTF16(device_name));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -class ChooserContentViewTest : public views::ViewsTestBase {
|
| - public:
|
| - ChooserContentViewTest() {}
|
| -
|
| - // views::ViewsTestBase:
|
| - void SetUp() override {
|
| - views::ViewsTestBase::SetUp();
|
| - std::unique_ptr<MockChooserController> mock_chooser_controller(
|
| - new MockChooserController(nullptr));
|
| - mock_chooser_controller_ = mock_chooser_controller.get();
|
| - mock_table_view_observer_ = base::MakeUnique<MockTableViewObserver>();
|
| - chooser_content_view_ = base::MakeUnique<ChooserContentView>(
|
| - mock_table_view_observer_.get(), std::move(mock_chooser_controller));
|
| - table_view_ = chooser_content_view_->table_view_;
|
| - ASSERT_TRUE(table_view_);
|
| - table_model_ = table_view_->model();
|
| - ASSERT_TRUE(table_model_);
|
| - throbber_ = chooser_content_view_->throbber_;
|
| - ASSERT_TRUE(throbber_);
|
| - turn_adapter_off_help_ = chooser_content_view_->turn_adapter_off_help_;
|
| - ASSERT_TRUE(turn_adapter_off_help_);
|
| - footnote_link_ = chooser_content_view_->footnote_link();
|
| - ASSERT_TRUE(footnote_link_);
|
| - }
|
| -
|
| - protected:
|
| - std::unique_ptr<MockTableViewObserver> mock_table_view_observer_;
|
| - std::unique_ptr<ChooserContentView> chooser_content_view_;
|
| - MockChooserController* mock_chooser_controller_ = nullptr;
|
| - views::TableView* table_view_ = nullptr;
|
| - ui::TableModel* table_model_ = nullptr;
|
| - views::Throbber* throbber_ = nullptr;
|
| - views::StyledLabel* turn_adapter_off_help_ = nullptr;
|
| - views::StyledLabel* footnote_link_ = nullptr;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(ChooserContentViewTest);
|
| -};
|
| -
|
| -TEST_F(ChooserContentViewTest, InitialState) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0);
|
| -
|
| - EXPECT_TRUE(table_view_->visible());
|
| - // Since "No devices found." needs to be displayed on the |table_view_|,
|
| - // the number of rows is 1.
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(
|
| - l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - table_model_->GetText(0, 0));
|
| - // |table_view_| should be disabled since there is no option shown.
|
| - EXPECT_FALSE(table_view_->enabled());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_FALSE(turn_adapter_off_help_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_text_, footnote_link_->text());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, AddOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - // |table_view_| should be enabled since there is an option.
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - EXPECT_EQ(base::ASCIIToUTF16("b"), table_model_->GetText(1, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - EXPECT_EQ(3, table_view_->RowCount());
|
| - EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, RemoveOption) {
|
| - // Called from TableView::OnItemsRemoved().
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -
|
| - // Remove a non-existent option, the number of rows should not change.
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| - // There is no option shown now. But since "No devices found."
|
| - // needs to be displayed on the |table_view_|, the number of rows is 1.
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(
|
| - l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - table_model_->GetText(0, 0));
|
| - // |table_view_| should be disabled since all options are removed.
|
| - EXPECT_FALSE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, UpdateOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - mock_chooser_controller_->OptionUpdated(
|
| - base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - EXPECT_EQ(3, table_view_->RowCount());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - EXPECT_EQ(GetPairedText("d"), table_model_->GetText(1, 0));
|
| - EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, AddAndRemoveOption) {
|
| - // Called from TableView::OnItemsRemoved().
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - EXPECT_EQ(3, table_view_->RowCount());
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, UpdateAndRemoveTheUpdatedOption) {
|
| - // Called from TableView::OnItemsRemoved().
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - mock_chooser_controller_->OptionUpdated(
|
| - base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| -
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
| -
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0));
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, SelectAndDeselectAnOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(4);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - // Select option 0.
|
| - table_view_->Select(0);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| -
|
| - // Unselect option 0.
|
| - table_view_->Select(-1);
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -
|
| - // Select option 1.
|
| - table_view_->Select(1);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(1, table_view_->FirstSelectedRow());
|
| -
|
| - // Unselect option 1.
|
| - table_view_->Select(-1);
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, SelectAnOptionAndThenSelectAnotherOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - // Select option 0.
|
| - table_view_->Select(0);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| -
|
| - // Select option 1.
|
| - table_view_->Select(1);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(1, table_view_->FirstSelectedRow());
|
| -
|
| - // Select option 2.
|
| - table_view_->Select(2);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(2, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveAnotherOption) {
|
| - // Called one time from TableView::Select() and two times from
|
| - // TableView::OnItemsRemoved().
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - // Select option 1.
|
| - table_view_->Select(1);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(1, table_view_->FirstSelectedRow());
|
| -
|
| - // Remove option 0, the list becomes: b c.
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - // Since option 0 is removed, the original selected option 1 becomes
|
| - // the first option in the list.
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| -
|
| - // Remove option 1.
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveTheSelectedOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - // Select option 1.
|
| - table_view_->Select(1);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(1, table_view_->FirstSelectedRow());
|
| -
|
| - // Remove option 1.
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| - EXPECT_EQ(2, table_view_->RowCount());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, SelectAnOptionAndUpdateTheSelectedOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - // Select option 1.
|
| - table_view_->Select(1);
|
| -
|
| - // Update option 1.
|
| - mock_chooser_controller_->OptionUpdated(
|
| - base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| -
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(1, table_view_->FirstSelectedRow());
|
| - EXPECT_EQ(GetPairedText("a"), table_model_->GetText(0, 0));
|
| - EXPECT_EQ(GetPairedText("d"), table_model_->GetText(1, 0));
|
| - EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0));
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest,
|
| - AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| -
|
| - // Select option 0.
|
| - table_view_->Select(0);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| -
|
| - // Remove option 0.
|
| - mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| - // There is no option shown now. But since "No devices found."
|
| - // needs to be displayed on the |table_view_|, the number of rows is 1.
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(
|
| - l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - table_model_->GetText(0, 0));
|
| - // |table_view_| should be disabled since all options are removed.
|
| - EXPECT_FALSE(table_view_->enabled());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, AdapterOnAndOffAndOn) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
|
| -
|
| - mock_chooser_controller_->OnAdapterPresenceChanged(
|
| - content::BluetoothChooser::AdapterPresence::POWERED_ON);
|
| - EXPECT_TRUE(table_view_->visible());
|
| - // Since "No devices found." needs to be displayed on the |table_view_|,
|
| - // the number of rows is 1.
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(
|
| - l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - table_model_->GetText(0, 0));
|
| - // |table_view_| should be disabled since there is no option shown.
|
| - EXPECT_FALSE(table_view_->enabled());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_FALSE(turn_adapter_off_help_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_and_re_scan_text_,
|
| - footnote_link_->text());
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| -
|
| - table_view_->Select(1);
|
| -
|
| - mock_chooser_controller_->OnAdapterPresenceChanged(
|
| - content::BluetoothChooser::AdapterPresence::POWERED_OFF);
|
| - EXPECT_EQ(0u, mock_chooser_controller_->NumOptions());
|
| - EXPECT_FALSE(table_view_->visible());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_TRUE(turn_adapter_off_help_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_text_, footnote_link_->text());
|
| -
|
| - mock_chooser_controller_->OnAdapterPresenceChanged(
|
| - content::BluetoothChooser::AdapterPresence::POWERED_ON);
|
| - EXPECT_EQ(0u, mock_chooser_controller_->NumOptions());
|
| - EXPECT_TRUE(table_view_->visible());
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(
|
| - l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - table_model_->GetText(0, 0));
|
| - EXPECT_FALSE(table_view_->enabled());
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_FALSE(turn_adapter_off_help_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_and_re_scan_text_,
|
| - footnote_link_->text());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, DiscoveringAndNoOptionAddedAndIdle) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - table_view_->Select(1);
|
| -
|
| - mock_chooser_controller_->OnDiscoveryStateChanged(
|
| - content::BluetoothChooser::DiscoveryState::DISCOVERING);
|
| - EXPECT_FALSE(table_view_->visible());
|
| - EXPECT_TRUE(throbber_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_and_scanning_text_,
|
| - footnote_link_->text());
|
| -
|
| - mock_chooser_controller_->OnDiscoveryStateChanged(
|
| - content::BluetoothChooser::DiscoveryState::IDLE);
|
| - EXPECT_TRUE(table_view_->visible());
|
| - // Since "No devices found." needs to be displayed on the |table_view_|,
|
| - // the number of rows is 1.
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(
|
| - l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - table_model_->GetText(0, 0));
|
| - // |table_view_| should be disabled since there is no option shown.
|
| - EXPECT_FALSE(table_view_->enabled());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_and_re_scan_text_,
|
| - footnote_link_->text());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, DiscoveringAndOneOptionAddedAndSelectedAndIdle) {
|
| - EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3);
|
| -
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoSignalStrengthLevelImage,
|
| - MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| - MockChooserController::ConnectedPairedStatus::PAIRED);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - table_view_->Select(1);
|
| -
|
| - mock_chooser_controller_->OnDiscoveryStateChanged(
|
| - content::BluetoothChooser::DiscoveryState::DISCOVERING);
|
| - mock_chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
|
| - MockChooserController::ConnectedPairedStatus::NONE);
|
| - EXPECT_TRUE(table_view_->visible());
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(0, 0));
|
| - // |table_view_| should be enabled since there is an option.
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - // No option selected.
|
| - EXPECT_EQ(0UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(-1, table_view_->FirstSelectedRow());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_and_scanning_text_,
|
| - footnote_link_->text());
|
| - table_view_->Select(0);
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| -
|
| - mock_chooser_controller_->OnDiscoveryStateChanged(
|
| - content::BluetoothChooser::DiscoveryState::IDLE);
|
| - EXPECT_TRUE(table_view_->visible());
|
| - EXPECT_EQ(1, table_view_->RowCount());
|
| - EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(0, 0));
|
| - // |table_view_| should be enabled since there is an option.
|
| - EXPECT_TRUE(table_view_->enabled());
|
| - EXPECT_EQ(1UL, table_view_->selection_model().size());
|
| - EXPECT_EQ(0, table_view_->FirstSelectedRow());
|
| - EXPECT_FALSE(throbber_->visible());
|
| - EXPECT_EQ(chooser_content_view_->help_and_re_scan_text_,
|
| - footnote_link_->text());
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, ClickAdapterOffHelpLink) {
|
| - EXPECT_CALL(*mock_chooser_controller_, OpenAdapterOffHelpUrl()).Times(1);
|
| - turn_adapter_off_help_->LinkClicked(nullptr, 0);
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, ClickRescanLink) {
|
| - EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1);
|
| - chooser_content_view_->StyledLabelLinkClicked(
|
| - footnote_link_, chooser_content_view_->re_scan_text_range_, 0);
|
| -}
|
| -
|
| -TEST_F(ChooserContentViewTest, ClickGetHelpLink) {
|
| - EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
|
| - chooser_content_view_->StyledLabelLinkClicked(
|
| - footnote_link_, chooser_content_view_->help_text_range_, 0);
|
| -}
|
|
|