Chromium Code Reviews| 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..950abaa67f2953a343cd8e72ff60cee0b6779702 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 signalStrengthLevelImageIds[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,30 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest { |
| ASSERT_TRUE(help_button_); |
| } |
| + // Check the image and text in the table row view. |
| + void CheckTableRowView(int row, |
| + int signal_strength_level, |
| + NSString* expected_device_name) { |
| + NSImageView* image_view = |
| + [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]; |
| + |
| + if (signal_strength_level == -1) { |
| + ASSERT_FALSE(image_view); |
| + } else { |
| + ASSERT_TRUE(image_view); |
| + EXPECT_NSEQ(rb_.GetNativeImageNamed( |
| + signalStrengthLevelImageIds[signal_strength_level]) |
| + .ToNSImage(), |
| + [image_view image]); |
| + } |
| + |
| + EXPECT_NSEQ(expected_device_name, |
| + [[chooser_content_view_ |
| + tableRowViewText:static_cast<NSInteger>(row)] stringValue]); |
| + } |
| + |
| + ui::ResourceBundle& rb_; |
| + |
| std::unique_ptr<ChooserDialogCocoa> chooser_dialog_; |
| MockChooserController* chooser_controller_; |
| @@ -90,9 +126,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. |
| + CheckTableRowView( |
|
Jeffrey Yasskin
2016/08/19 18:30:05
I'm not a big fan of helper functions like this, b
juncai
2016/08/22 19:18:20
Done.
Jeffrey Yasskin
2016/08/22 21:59:24
Much better, thanks!
juncai
2016/08/23 00:30:40
Thanks!
|
| + 0, MockChooserController::kNoImage, |
| + 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 +143,76 @@ 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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"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]); |
| + CheckTableRowView(1, MockChooserController::kSignalStrengthLevel0Bar, @"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]); |
| + CheckTableRowView(2, MockChooserController::kSignalStrengthLevel1Bar, @"c"); |
| + |
| + chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar); |
| + EXPECT_EQ(4, table_view_.numberOfRows); |
|
Jeffrey Yasskin
2016/08/19 18:30:05
For these tests that are trying to check that the
juncai
2016/08/22 19:18:20
Done.
|
| + EXPECT_EQ(1, table_view_.numberOfColumns); |
| + ASSERT_TRUE(table_view_.enabled); |
| + EXPECT_EQ(-1, table_view_.selectedRow); |
| + CheckTableRowView(3, MockChooserController::kSignalStrengthLevel2Bar, @"d"); |
| + |
| + chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar); |
| + EXPECT_EQ(5, table_view_.numberOfRows); |
| + EXPECT_EQ(1, table_view_.numberOfColumns); |
| + ASSERT_TRUE(table_view_.enabled); |
| + EXPECT_EQ(-1, table_view_.selectedRow); |
| + CheckTableRowView(4, MockChooserController::kSignalStrengthLevel3Bar, @"e"); |
| + |
| + chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar); |
| + EXPECT_EQ(6, table_view_.numberOfRows); |
| + EXPECT_EQ(1, table_view_.numberOfColumns); |
| + ASSERT_TRUE(table_view_.enabled); |
| + EXPECT_EQ(-1, table_view_.selectedRow); |
| + CheckTableRowView(5, MockChooserController::kSignalStrengthLevel4Bar, @"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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"a"); |
| + CheckTableRowView(1, MockChooserController::kSignalStrengthLevel1Bar, @"c"); |
| // Remove a non-existent option, the number of rows should not change. |
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("non-existent")); |
| @@ -153,15 +220,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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"a"); |
| + CheckTableRowView(1, MockChooserController::kSignalStrengthLevel1Bar, @"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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"a"); |
| chooser_controller_->OptionRemoved(base::ASCIIToUTF16("a")); |
| // There is no option shown now. But since "No devices found." |
| @@ -171,42 +238,50 @@ 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]); |
| + CheckTableRowView( |
| + 0, MockChooserController::kNoImage, |
| + 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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"a"); |
| + CheckTableRowView(1, MockChooserController::kSignalStrengthLevel2Bar, @"d"); |
| + CheckTableRowView(2, MockChooserController::kSignalStrengthLevel1Bar, @"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 +292,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 +309,19 @@ 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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"a"); |
| + CheckTableRowView(1, MockChooserController::kSignalStrengthLevel1Bar, @"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 +350,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 +379,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 +411,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 +438,26 @@ 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]); |
| + CheckTableRowView(0, MockChooserController::kNoImage, @"a"); |
| + CheckTableRowView(1, MockChooserController::kSignalStrengthLevel2Bar, @"d"); |
| + CheckTableRowView(2, MockChooserController::kSignalStrengthLevel1Bar, @"c"); |
| ASSERT_TRUE(connect_button_.enabled); |
| } |
| @@ -370,7 +465,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 +484,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]); |
| + CheckTableRowView( |
| + 0, MockChooserController::kNoImage, |
| + 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 +494,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 +509,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 +534,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 +562,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]); |
| + CheckTableRowView( |
| + 0, MockChooserController::kNoImage, |
| + 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 +572,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 +597,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]); |
| + CheckTableRowView( |
| + 0, MockChooserController::kNoImage, |
| + l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF)); |
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_TRUE(status_.hidden); |
| EXPECT_TRUE(rescan_button_.hidden); |
| @@ -502,9 +611,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]); |
| + CheckTableRowView( |
| + 0, MockChooserController::kNoImage, |
| + 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 +623,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 +662,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]); |
| + CheckTableRowView( |
| + 0, MockChooserController::kNoImage, |
| + 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 +677,26 @@ 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]); |
| + CheckTableRowView(0, MockChooserController::kSignalStrengthLevel2Bar, @"d"); |
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_FALSE(status_.hidden); |
| EXPECT_TRUE(rescan_button_.hidden); |
| @@ -599,7 +715,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]); |
| + CheckTableRowView(0, MockChooserController::kSignalStrengthLevel2Bar, @"d"); |
|
Jeffrey Yasskin
2016/08/19 18:30:05
You don't need to add signal strength icon asserti
juncai
2016/08/22 19:18:20
Done.
|
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_TRUE(status_.hidden); |
| EXPECT_FALSE(rescan_button_.hidden); |
| @@ -617,9 +733,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] |