| 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 012d637201bfad706430ae0b4a59127c78810f02..e0ab8a5ad73f1b73f1f4c5e9ca1982b3ed969a8b 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
|
| @@ -17,14 +17,26 @@
|
| #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa.h"
|
| #include "chrome/browser/ui/cocoa/spinner_view.h"
|
| #include "chrome/grit/generated_resources.h"
|
| +#include "grit/ui_resources.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "testing/gtest_mac.h"
|
| #include "ui/base/l10n/l10n_util_mac.h"
|
| +#include "ui/base/resource/resource_bundle.h"
|
| +
|
| +namespace {
|
| +
|
| +// The lookup table for signal strength level image.
|
| +const int kSignalStrengthLevelImageIds[5] = {IDR_SIGNAL_0_BAR, IDR_SIGNAL_1_BAR,
|
| + IDR_SIGNAL_2_BAR, IDR_SIGNAL_3_BAR,
|
| + IDR_SIGNAL_4_BAR};
|
| +
|
| +} // namespace
|
|
|
| class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
|
| protected:
|
| - ChooserDialogCocoaControllerTest() {}
|
| + ChooserDialogCocoaControllerTest()
|
| + : rb_(ui::ResourceBundle::GetSharedInstance()) {}
|
| ~ChooserDialogCocoaControllerTest() override {}
|
|
|
| void SetUp() override {
|
| @@ -66,6 +78,31 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest {
|
| ASSERT_TRUE(help_button_);
|
| }
|
|
|
| + void ExpectSignalStrengthLevelImageIs(int row,
|
| + int expected_signal_strength_level) {
|
| + NSImageView* image_view =
|
| + [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)];
|
| +
|
| + 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 ExpectRowTextIs(int row, NSString* expected_text) {
|
| + EXPECT_NSEQ(expected_text,
|
| + [[chooser_content_view_
|
| + tableRowViewText:static_cast<NSInteger>(row)] stringValue]);
|
| + }
|
| +
|
| + ui::ResourceBundle& rb_;
|
| +
|
| std::unique_ptr<ChooserDialogCocoa> chooser_dialog_;
|
|
|
| MockChooserController* chooser_controller_;
|
| @@ -90,9 +127,10 @@ TEST_F(ChooserDialogCocoaControllerTest, InitialState) {
|
| // the number of rows is 1.
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| - EXPECT_NSEQ(
|
| - l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + // No signal strength level image shown.
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(
|
| + 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| // |table_view_| should be disabled since there is no option shown.
|
| ASSERT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| @@ -106,46 +144,78 @@ TEST_F(ChooserDialogCocoaControllerTest, InitialState) {
|
| TEST_F(ChooserDialogCocoaControllerTest, AddOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| 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_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(0, @"a");
|
| ASSERT_FALSE(connect_button_.enabled);
|
| ASSERT_TRUE(cancel_button_.enabled);
|
| ASSERT_TRUE(help_button_.enabled);
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"b", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 1, MockChooserController::kSignalStrengthLevel0Bar);
|
| + ExpectRowTextIs(1, @"b");
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:2] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 2, MockChooserController::kSignalStrengthLevel1Bar);
|
| + ExpectRowTextIs(2, @"c");
|
| +
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 3, MockChooserController::kSignalStrengthLevel2Bar);
|
| + ExpectRowTextIs(3, @"d");
|
| +
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar);
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 4, MockChooserController::kSignalStrengthLevel3Bar);
|
| + ExpectRowTextIs(4, @"e");
|
| +
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar);
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 5, MockChooserController::kSignalStrengthLevel4Bar);
|
| + ExpectRowTextIs(5, @"f");
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + 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"));
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| - EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(0, @"a");
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 1, MockChooserController::kSignalStrengthLevel1Bar);
|
| + ExpectRowTextIs(1, @"c");
|
|
|
| // Remove a non-existent option, the number of rows should not change.
|
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent"));
|
| @@ -153,15 +223,15 @@ TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| - EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
|
| + ExpectRowTextIs(0, @"a");
|
| + ExpectRowTextIs(1, @"c");
|
|
|
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("c"));
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectRowTextIs(0, @"a");
|
|
|
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a"));
|
| // There is no option shown now. But since "No devices found."
|
| @@ -171,42 +241,55 @@ TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) {
|
| // |table_view_| should be disabled since all options are removed.
|
| ASSERT_FALSE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(
|
| - l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(
|
| + 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, UpdateOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + 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(base::ASCIIToUTF16("b"),
|
| - base::ASCIIToUTF16("d"));
|
| + chooser_controller_->OptionUpdated(
|
| + base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| + MockChooserController::kSignalStrengthLevel2Bar);
|
|
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| - EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
|
| - EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:2] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(0, @"a");
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 1, MockChooserController::kSignalStrengthLevel2Bar);
|
| + ExpectRowTextIs(1, @"d");
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 2, MockChooserController::kSignalStrengthLevel1Bar);
|
| + ExpectRowTextIs(2, @"c");
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("b"));
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("d"));
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
| EXPECT_EQ(2, table_view_.numberOfRows);
|
| @@ -217,12 +300,16 @@ TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) {
|
| TEST_F(ChooserDialogCocoaControllerTest, UpdateAndRemoveTheUpdatedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + 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(base::ASCIIToUTF16("b"),
|
| - base::ASCIIToUTF16("d"));
|
| + chooser_controller_->OptionUpdated(
|
| + base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| + MockChooserController::kSignalStrengthLevel2Bar);
|
|
|
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d"));
|
|
|
| @@ -230,16 +317,22 @@ TEST_F(ChooserDialogCocoaControllerTest, UpdateAndRemoveTheUpdatedOption) {
|
| EXPECT_EQ(1, table_view_.numberOfColumns);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| - EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(0, @"a");
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 1, MockChooserController::kSignalStrengthLevel1Bar);
|
| + ExpectRowTextIs(1, @"c");
|
| }
|
|
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAndDeselectAnOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 0.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| @@ -268,9 +361,12 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| SelectAnOptionAndThenSelectAnotherOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 0.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| @@ -294,9 +390,12 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndRemoveAnotherOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| @@ -323,9 +422,12 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| SelectAnOptionAndRemoveTheSelectedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| @@ -347,22 +449,31 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| SelectAnOptionAndUpdateTheSelectedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 1.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
|
|
| // Update option 1.
|
| - chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"),
|
| - base::ASCIIToUTF16("d"));
|
| + chooser_controller_->OptionUpdated(
|
| + base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"),
|
| + MockChooserController::kSignalStrengthLevel2Bar);
|
|
|
| EXPECT_EQ(1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"a", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| - EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:1] stringValue]);
|
| - EXPECT_NSEQ(@"c", [[table_view_ preparedCellAtColumn:0 row:2] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(0, @"a");
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 1, MockChooserController::kSignalStrengthLevel2Bar);
|
| + ExpectRowTextIs(1, @"d");
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 2, MockChooserController::kSignalStrengthLevel1Bar);
|
| + ExpectRowTextIs(2, @"c");
|
| ASSERT_TRUE(connect_button_.enabled);
|
| }
|
|
|
| @@ -370,7 +481,8 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
|
|
| // Select option 0.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| @@ -388,9 +500,9 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| // |table_view_| should be disabled since there is no option shown.
|
| ASSERT_FALSE(table_view_.enabled);
|
| - EXPECT_NSEQ(
|
| - l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(
|
| + 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| // Since no option selected, the "Connect" button should be disabled.
|
| ASSERT_FALSE(connect_button_.enabled);
|
| }
|
| @@ -398,9 +510,12 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + 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);
|
| @@ -410,9 +525,12 @@ TEST_F(ChooserDialogCocoaControllerTest, NoOptionSelectedAndPressCancelButton) {
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressConnectButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 0 and press "Connect" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| @@ -432,9 +550,12 @@ TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressConnectButton) {
|
| TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndPressCancelButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 0 and press "Cancel" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
| @@ -457,9 +578,9 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) {
|
| ASSERT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(
|
| - l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(
|
| + 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_FALSE(rescan_button_.hidden);
|
| @@ -467,9 +588,12 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) {
|
| ASSERT_TRUE(cancel_button_.enabled);
|
|
|
| // Add options
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + 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);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| // Select option 1.
|
| @@ -489,8 +613,9 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) {
|
| EXPECT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(
|
| + 0, l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_TRUE(rescan_button_.hidden);
|
| @@ -502,9 +627,9 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) {
|
|
|
| chooser_controller_->OnAdapterPresenceChanged(
|
| content::BluetoothChooser::AdapterPresence::POWERED_ON);
|
| - EXPECT_NSEQ(
|
| - l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + 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);
|
| @@ -514,9 +639,12 @@ TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) {
|
| CreateChooserDialog();
|
|
|
| // Add options
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + 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_FALSE(table_view_.hidden);
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(3, table_view_.numberOfRows);
|
| @@ -550,9 +678,9 @@ TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) {
|
| ASSERT_FALSE(table_view_.enabled);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(
|
| - l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT),
|
| - [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage);
|
| + ExpectRowTextIs(
|
| + 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT));
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_FALSE(rescan_button_.hidden);
|
| @@ -565,22 +693,28 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| DiscoveringAndOneOptionAddedAndSelectedAndIdle) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1]
|
| byExtendingSelection:NO];
|
|
|
| chooser_controller_->OnDiscoveryStateChanged(
|
| content::BluetoothChooser::DiscoveryState::DISCOVERING);
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("d"));
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar);
|
| EXPECT_FALSE(table_view_.hidden);
|
| // |table_view_| should be enabled since there is an option.
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| // No option selected.
|
| EXPECT_EQ(-1, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectSignalStrengthLevelImageIs(
|
| + 0, MockChooserController::kSignalStrengthLevel2Bar);
|
| + ExpectRowTextIs(0, @"d");
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_FALSE(status_.hidden);
|
| EXPECT_TRUE(rescan_button_.hidden);
|
| @@ -599,7 +733,7 @@ TEST_F(ChooserDialogCocoaControllerTest,
|
| ASSERT_TRUE(table_view_.enabled);
|
| EXPECT_EQ(1, table_view_.numberOfRows);
|
| EXPECT_EQ(0, table_view_.selectedRow);
|
| - EXPECT_NSEQ(@"d", [[table_view_ preparedCellAtColumn:0 row:0] stringValue]);
|
| + ExpectRowTextIs(0, @"d");
|
| EXPECT_TRUE(spinner_.hidden);
|
| EXPECT_TRUE(status_.hidden);
|
| EXPECT_FALSE(rescan_button_.hidden);
|
| @@ -617,9 +751,12 @@ TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) {
|
| TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) {
|
| CreateChooserDialog();
|
|
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("b"));
|
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("c"));
|
| + chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"),
|
| + MockChooserController::kNoImage);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar);
|
| + chooser_controller_->OptionAdded(
|
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar);
|
|
|
| // Select option 0 and press "Get help" button.
|
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
|
|
|