| Index: chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm
|
| diff --git a/chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm b/chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm
|
| index 0255362f488bb5922532aa7e3c2c7edad1f797bb..683a74413f45cc3848727bb718a28a1a18961db9 100644
|
| --- a/chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm
|
| +++ b/chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm
|
| @@ -22,6 +22,11 @@
|
| #include "testing/gtest_mac.h"
|
| #include "ui/base/l10n/l10n_util_mac.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| +#include "ui/gfx/color_palette.h"
|
| +#include "ui/gfx/image/image.h"
|
| +#include "ui/gfx/image/image_unittest_util.h"
|
| +#include "ui/gfx/paint_vector_icon.h"
|
| +#include "ui/gfx/vector_icons_public.h"
|
| #include "ui/resources/grit/ui_resources.h"
|
|
|
| namespace {
|
| @@ -53,7 +58,7 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
|
| std::unique_ptr<MockChooserController> chooser_controller(
|
| new MockChooserController(web_contents->GetMainFrame()));
|
| ASSERT_TRUE(chooser_controller);
|
| - chooser_controller_ = chooser_controller.get();
|
| + mock_chooser_controller_ = chooser_controller.get();
|
| chooser_dialog_.reset(
|
| new ChooserDialogCocoa(web_contents, std::move(chooser_controller)));
|
| ASSERT_TRUE(chooser_dialog_);
|
| @@ -78,21 +83,31 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
|
| ASSERT_TRUE(help_button_);
|
| }
|
|
|
| + void ExpectNoRowImage(int row) {
|
| + ASSERT_FALSE(
|
| + [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]);
|
| + }
|
| +
|
| void ExpectSignalStrengthLevelImageIs(int row,
|
| int expected_signal_strength_level) {
|
| NSImageView* image_view =
|
| [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)];
|
| + ASSERT_TRUE(image_view);
|
| + EXPECT_NSEQ(
|
| + rb_.GetNativeImageNamed(
|
| + kSignalStrengthLevelImageIds[expected_signal_strength_level])
|
| + .ToNSImage(),
|
| + [image_view image]);
|
| + }
|
|
|
| - if (expected_signal_strength_level == -1) {
|
| - ASSERT_FALSE(image_view);
|
| - } else {
|
| - ASSERT_TRUE(image_view);
|
| - EXPECT_NSEQ(
|
| - rb_.GetNativeImageNamed(
|
| - kSignalStrengthLevelImageIds[expected_signal_strength_level])
|
| - .ToNSImage(),
|
| - [image_view image]);
|
| - }
|
| + void ExpectRowImageIsConnectedImage(int row) {
|
| + NSImageView* image_view =
|
| + [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)];
|
| + ASSERT_TRUE(image_view);
|
| + EXPECT_TRUE(gfx::test::AreImagesEqual(
|
| + gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BLUETOOTH_CONNECTED,
|
| + gfx::kChromeIconGrey)),
|
| + gfx::Image([[image_view image] copy])));
|
| }
|
|
|
| void ExpectRowTextIs(int row, NSString* expected_text) {
|
| @@ -101,11 +116,23 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
|
| tableRowViewText:static_cast<NSInteger>(row)] stringValue]);
|
| }
|
|
|
| + bool IsRowPaired(int row) {
|
| + NSTextField* paired_status = [chooser_content_view_
|
| + tableRowViewPairedStatus:static_cast<NSInteger>(row)];
|
| + if (paired_status) {
|
| + EXPECT_NSEQ(l10n_util::GetNSString(IDS_DEVICE_CHOOSER_PAIRED_STATUS_TEXT),
|
| + [paired_status stringValue]);
|
| + return true;
|
| + } else {
|
| + return false;
|
| + }
|
| + }
|
| +
|
| ui::ResourceBundle& rb_;
|
|
|
| std::unique_ptr<ChooserDialogCocoa> chooser_dialog_;
|
|
|
| - MockChooserController* chooser_controller_;
|
| + MockChooserController* mock_chooser_controller_;
|
| ChooserDialogCocoaController* chooser_dialog_controller_;
|
| ChooserContentViewCocoa* chooser_content_view_;
|
| NSTableView* table_view_;
|
| @@ -127,483 +154,584 @@ TEST_F(ChooserDialogCocoaControllerTest, InitialState) {
|
| // the number of rows is 1.
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - // No signal strength level image shown.
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + // No image shown.
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| // |table_view_| should be disabled since there is no option shown.
|
| - ASSERT_FALSE(table_view_.enabled);
|
| + EXPECT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| // |connect_button_| should be disabled since no option selected.
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| - ASSERT_TRUE(help_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
| + EXPECT_TRUE(help_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, AddOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoSignalStrengthLevelImage,
|
| + MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| + MockChooserController::ConnectedPairedStatus::PAIRED);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| // |table_view_| should be enabled since there is an option.
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowImageIsConnectedImage(0);
|
| ExpectRowTextIs(0, @"a");
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| - ASSERT_TRUE(help_button_.enabled);
|
| -
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + EXPECT_TRUE(IsRowPaired(0));
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
| + EXPECT_TRUE(help_button_.enabled);
|
| +
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| ExpectSignalStrengthLevelImageIs(
|
| 1, MockChooserController::kSignalStrengthLevel0Bar);
|
| ExpectRowTextIs(1, @"b");
|
| + EXPECT_FALSE(IsRowPaired(1));
|
|
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| ExpectSignalStrengthLevelImageIs(
|
| 2, MockChooserController::kSignalStrengthLevel1Bar);
|
| ExpectRowTextIs(2, @"c");
|
| + EXPECT_FALSE(IsRowPaired(2));
|
|
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| ExpectSignalStrengthLevelImageIs(
|
| 3, MockChooserController::kSignalStrengthLevel2Bar);
|
| ExpectRowTextIs(3, @"d");
|
| + EXPECT_FALSE(IsRowPaired(3));
|
|
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| ExpectSignalStrengthLevelImageIs(
|
| 4, MockChooserController::kSignalStrengthLevel3Bar);
|
| ExpectRowTextIs(4, @"e");
|
| + EXPECT_FALSE(IsRowPaired(4));
|
|
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| ExpectSignalStrengthLevelImageIs(
|
| 5, MockChooserController::kSignalStrengthLevel4Bar);
|
| ExpectRowTextIs(5, @"f");
|
| + EXPECT_FALSE(IsRowPaired(5));
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| -
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| + 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_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowImageIsConnectedImage(0);
|
| ExpectRowTextIs(0, @"a");
|
| + EXPECT_TRUE(IsRowPaired(0));
|
| ExpectSignalStrengthLevelImageIs(
|
| 1, MockChooserController::kSignalStrengthLevel1Bar);
|
| ExpectRowTextIs(1, @"c");
|
| + EXPECT_FALSE(IsRowPaired(1));
|
|
|
| // Remove a non-existent option, the number of rows should not change.
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| ExpectRowTextIs(0, @"a");
|
| ExpectRowTextIs(1, @"c");
|
|
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| ExpectRowTextIs(0, @"a");
|
|
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| + 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_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| // |table_view_| should be disabled since all options are removed.
|
| - ASSERT_FALSE(table_view_.enabled);
|
| + EXPECT_FALSE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, UpdateOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| -
|
| - chooser_controller_->OptionUpdated(
|
| + 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::kSignalStrengthLevel2Bar);
|
| + MockChooserController::kNoSignalStrengthLevelImage,
|
| + MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| + MockChooserController::ConnectedPairedStatus::PAIRED);
|
|
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowImageIsConnectedImage(0);
|
| ExpectRowTextIs(0, @"a");
|
| - ExpectSignalStrengthLevelImageIs(
|
| - 1, MockChooserController::kSignalStrengthLevel2Bar);
|
| + EXPECT_TRUE(IsRowPaired(0));
|
| + ExpectRowImageIsConnectedImage(1);
|
| ExpectRowTextIs(1, @"d");
|
| + EXPECT_TRUE(IsRowPaired(1));
|
| ExpectSignalStrengthLevelImageIs(
|
| 2, MockChooserController::kSignalStrengthLevel1Bar);
|
| ExpectRowTextIs(2, @"c");
|
| + EXPECT_FALSE(IsRowPaired(2));
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoSignalStrengthLevelImage,
|
| + MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| + MockChooserController::ConnectedPairedStatus::PAIRED);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, UpdateAndRemoveTheUpdatedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| -
|
| - chooser_controller_->OptionUpdated(
|
| + 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::kSignalStrengthLevel2Bar);
|
| + MockChooserController::kNoSignalStrengthLevelImage,
|
| + MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| + MockChooserController::ConnectedPairedStatus::PAIRED);
|
|
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
|
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowImageIsConnectedImage(0);
|
| ExpectRowTextIs(0, @"a");
|
| + EXPECT_TRUE(IsRowPaired(0));
|
| ExpectSignalStrengthLevelImageIs(
|
| 1, MockChooserController::kSignalStrengthLevel1Bar);
|
| ExpectRowTextIs(1, @"c");
|
| + EXPECT_FALSE(IsRowPaired(1));
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Deselect option 0.
|
| [table_view_ deselectRow:0];
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
|
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Deselect option 1.
|
| [table_view_ deselectRow:1];
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest,
|
| SelectAnOptionAndThenSelectAnotherOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Select option 2.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:2]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(2, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndRemoveAnotherOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Remove option 0. The list becomes: b c. And the index of the previously
|
| // selected item "b" becomes 0.
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Remove option 1. The list becomes: b.
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest,
|
| SelectAnOptionAndRemoveTheSelectedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Remove option 1
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| // Since no option selected, the "Connect" button should be disabled.
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest,
|
| SelectAnOptionAndUpdateTheSelectedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
|
|
| // Update option 1.
|
| - chooser_controller_->OptionUpdated(
|
| + mock_chooser_controller_->OptionUpdated(
|
| base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| - MockChooserController::kSignalStrengthLevel2Bar);
|
| + MockChooserController::kNoSignalStrengthLevelImage,
|
| + MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| + MockChooserController::ConnectedPairedStatus::PAIRED);
|
|
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowImageIsConnectedImage(0);
|
| ExpectRowTextIs(0, @"a");
|
| - ExpectSignalStrengthLevelImageIs(
|
| - 1, MockChooserController::kSignalStrengthLevel2Bar);
|
| + EXPECT_TRUE(IsRowPaired(0));
|
| + ExpectRowImageIsConnectedImage(1);
|
| ExpectRowTextIs(1, @"d");
|
| + EXPECT_TRUE(IsRowPaired(1));
|
| ExpectSignalStrengthLevelImageIs(
|
| 2, MockChooserController::kSignalStrengthLevel1Bar);
|
| ExpectRowTextIs(2, @"c");
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_FALSE(IsRowPaired(2));
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest,
|
| AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoSignalStrengthLevelImage,
|
| + MockChooserController::ConnectedPairedStatus::CONNECTED |
|
| + MockChooserController::ConnectedPairedStatus::PAIRED);
|
|
|
| // Select option 0.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
|
|
| // Remove option 0.
|
| - chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| + 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_.numberOfRows);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| // |table_view_| should be disabled since there is no option shown.
|
| - ASSERT_FALSE(table_view_.enabled);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + EXPECT_FALSE(table_view_.enabled);
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| // Since no option selected, the "Connect" button should be disabled.
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| -
|
| - EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0);
|
| - EXPECT_CALL(*chooser_controller_, Cancel()).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);
|
| +
|
| + EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0);
|
| + EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(1);
|
| [cancel_button_ performClick:chooser_dialog_controller_];
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressConnectButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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 and press "Connect" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| - EXPECT_CALL(*chooser_controller_, Select(0)).Times(1);
|
| - EXPECT_CALL(*chooser_controller_, Cancel()).Times(0);
|
| + EXPECT_CALL(*mock_chooser_controller_, Select(0)).Times(1);
|
| + EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
|
| [connect_button_ performClick:chooser_dialog_controller_];
|
|
|
| // Select option 2 and press "Connect" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:2]
|
| byExtendingSelection:NO];
|
| - EXPECT_CALL(*chooser_controller_, Select(2)).Times(1);
|
| - EXPECT_CALL(*chooser_controller_, Cancel()).Times(0);
|
| + EXPECT_CALL(*mock_chooser_controller_, Select(2)).Times(1);
|
| + EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
|
| [connect_button_ performClick:chooser_dialog_controller_];
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressCancelButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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 and press "Cancel" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| - EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0);
|
| - EXPECT_CALL(*chooser_controller_, Cancel()).Times(1);
|
| + EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0);
|
| + EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(1);
|
| [cancel_button_ performClick:chooser_dialog_controller_];
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OnAdapterPresenceChanged(
|
| + mock_chooser_controller_->OnAdapterPresenceChanged(
|
| content::BluetoothChooser::AdapterPresence::POWERED_ON);
|
| EXPECT_FALSE(table_view_.hidden);
|
| // 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_.numberOfRows);
|
| // |table_view_| should be disabled since there is no option shown.
|
| - ASSERT_FALSE(table_view_.enabled);
|
| + EXPECT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_FALSE(rescan_button_.hidden);
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
|
|
| // Add options
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + 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);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
|
|
| - chooser_controller_->OnAdapterPresenceChanged(
|
| + mock_chooser_controller_->OnAdapterPresenceChanged(
|
| content::BluetoothChooser::AdapterPresence::POWERED_OFF);
|
| EXPECT_FALSE(table_view_.hidden);
|
| // Since "Bluetooth turned off." needs to be displayed on the |table_view_|,
|
| @@ -613,40 +741,47 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) {
|
| EXPECT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF));
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_TRUE(rescan_button_.hidden);
|
| // Since the adapter is turned off, the previously selected option
|
| // becomes invalid, the OK button is disabled.
|
| - EXPECT_EQ(0u, chooser_controller_->NumOptions());
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_EQ(0u, mock_chooser_controller_->NumOptions());
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
|
|
| - chooser_controller_->OnAdapterPresenceChanged(
|
| + mock_chooser_controller_->OnAdapterPresenceChanged(
|
| content::BluetoothChooser::AdapterPresence::POWERED_ON);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| - EXPECT_EQ(0u, chooser_controller_->NumOptions());
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| + EXPECT_EQ(0u, mock_chooser_controller_->NumOptions());
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) {
|
| CreateChooserDialog();
|
|
|
| // Add options
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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);
|
| EXPECT_FALSE(table_view_.hidden);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| @@ -655,114 +790,128 @@ TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) {
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_TRUE(rescan_button_.hidden);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
|
|
| - chooser_controller_->OnDiscoveryStateChanged(
|
| + mock_chooser_controller_->OnDiscoveryStateChanged(
|
| content::BluetoothChooser::DiscoveryState::DISCOVERING);
|
| EXPECT_TRUE(table_view_.hidden);
|
| EXPECT_FALSE(spinner_.hidden);
|
| EXPECT_FALSE(status_.hidden);
|
| EXPECT_TRUE(rescan_button_.hidden);
|
| // OK button is disabled since the chooser is refreshing options.
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
|
|
| - chooser_controller_->OnDiscoveryStateChanged(
|
| + mock_chooser_controller_->OnDiscoveryStateChanged(
|
| content::BluetoothChooser::DiscoveryState::IDLE);
|
| EXPECT_FALSE(table_view_.hidden);
|
| // 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_.numberOfRows);
|
| // |table_view_| should be disabled since there is no option shown.
|
| - ASSERT_FALSE(table_view_.enabled);
|
| + EXPECT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectNoRowImage(0);
|
| ExpectRowTextIs(
|
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_FALSE(rescan_button_.hidden);
|
| // OK button is disabled since the chooser refreshed options.
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest,
|
| DiscoveringAndOneOptionAddedAndSelectedAndIdle) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
|
|
| - chooser_controller_->OnDiscoveryStateChanged(
|
| + mock_chooser_controller_->OnDiscoveryStateChanged(
|
| content::BluetoothChooser::DiscoveryState::DISCOVERING);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
|
| + mock_chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar,
|
| + MockChooserController::ConnectedPairedStatus::NONE);
|
| EXPECT_FALSE(table_view_.hidden);
|
| // |table_view_| should be enabled since there is an option.
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| ExpectSignalStrengthLevelImageIs(
|
| 0, MockChooserController::kSignalStrengthLevel2Bar);
|
| ExpectRowTextIs(0, @"d");
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_FALSE(status_.hidden);
|
| EXPECT_TRUE(rescan_button_.hidden);
|
| // OK button is disabled since no option is selected.
|
| - ASSERT_FALSE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_FALSE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
|
|
| - chooser_controller_->OnDiscoveryStateChanged(
|
| + mock_chooser_controller_->OnDiscoveryStateChanged(
|
| content::BluetoothChooser::DiscoveryState::IDLE);
|
| EXPECT_FALSE(table_view_.hidden);
|
| - ASSERT_TRUE(table_view_.enabled);
|
| + EXPECT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| ExpectRowTextIs(0, @"d");
|
| + EXPECT_FALSE(IsRowPaired(0));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_FALSE(rescan_button_.hidden);
|
| - ASSERT_TRUE(connect_button_.enabled);
|
| - ASSERT_TRUE(cancel_button_.enabled);
|
| + EXPECT_TRUE(connect_button_.enabled);
|
| + EXPECT_TRUE(cancel_button_.enabled);
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) {
|
| CreateChooserDialog();
|
|
|
| - EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1);
|
| + EXPECT_CALL(*mock_chooser_controller_, RefreshOptions()).Times(1);
|
| [rescan_button_ performClick:chooser_dialog_controller_];
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| - MockChooserController::kNoImage);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| - chooser_controller_->OptionAdded(
|
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| + 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 and press "Get help" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| byExtendingSelection:NO];
|
| - EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0);
|
| - EXPECT_CALL(*chooser_controller_, Cancel()).Times(0);
|
| - EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1);
|
| + EXPECT_CALL(*mock_chooser_controller_, Select(testing::_)).Times(0);
|
| + EXPECT_CALL(*mock_chooser_controller_, Cancel()).Times(0);
|
| + EXPECT_CALL(*mock_chooser_controller_, OpenHelpCenterUrl()).Times(1);
|
| [help_button_ performClick:chooser_dialog_controller_];
|
| }
|
|
|