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 0255362f488bb5922532aa7e3c2c7edad1f797bb..2b09f4040f8f80d194c26d55fb215d234ac8462c 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,10 @@ |
| #include "testing/gtest_mac.h" |
| #include "ui/base/l10n/l10n_util_mac.h" |
| #include "ui/base/resource/resource_bundle.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 +57,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,20 +82,27 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest { |
| ASSERT_TRUE(help_button_); |
| } |
| - void ExpectSignalStrengthLevelImageIs(int row, |
| - int expected_signal_strength_level) { |
| + void ExpectRowImageIs(int row, |
| + int expected_signal_strength_level, |
| + bool expected_is_connected) { |
|
Jeffrey Yasskin
2016/09/07 02:01:47
Use a separate function to assert that the row is
juncai
2016/09/09 20:06:15
Done.
|
| NSImageView* image_view = |
| [chooser_content_view_ tableRowViewImage:static_cast<NSInteger>(row)]; |
| - if (expected_signal_strength_level == -1) { |
| - ASSERT_FALSE(image_view); |
| - } else { |
| + if (expected_is_connected) { |
| + ASSERT_TRUE(image_view); |
| + EXPECT_TRUE(gfx::test::AreImagesEqual( |
| + gfx::Image(gfx::CreateVectorIcon( |
| + gfx::VectorIconId::BLUETOOTH_CONNECTED, SK_ColorBLACK)), |
| + gfx::Image([[image_view image] copy]))); |
| + } else if (expected_signal_strength_level != -1) { |
| ASSERT_TRUE(image_view); |
| EXPECT_NSEQ( |
| rb_.GetNativeImageNamed( |
| kSignalStrengthLevelImageIds[expected_signal_strength_level]) |
| .ToNSImage(), |
| [image_view image]); |
| + } else { |
| + EXPECT_FALSE(image_view); |
| } |
| } |
| @@ -101,11 +112,23 @@ class ChooserDialogCocoaControllerTest : public CocoaProfileTest { |
| tableRowViewText:static_cast<NSInteger>(row)] stringValue]); |
| } |
| + void ExpectRowPairedStatusIs(int row, bool expected_is_paired) { |
|
Jeffrey Yasskin
2016/09/07 02:01:47
Here you can just return whether the row is paired
juncai
2016/09/09 20:06:15
Done.
|
| + NSTextField* paired_status = [chooser_content_view_ |
| + tableRowViewPairedStatus:static_cast<NSInteger>(row)]; |
| + if (expected_is_paired) { |
| + ASSERT_TRUE(paired_status); |
| + EXPECT_NSEQ(l10n_util::GetNSString(IDS_DEVICE_CHOOSER_PAIRED_STATUS_TEXT), |
| + [paired_status stringValue]); |
| + } else { |
| + ASSERT_FALSE(paired_status); |
| + } |
| + } |
| + |
| 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,10 +150,12 @@ 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. |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| // |table_view_| should be disabled since there is no option shown. |
| ASSERT_FALSE(table_view_.enabled); |
| // No option selected. |
| @@ -144,81 +169,102 @@ TEST_F(ChooserDialogCocoaControllerTest, InitialState) { |
| TEST_F(ChooserDialogCocoaControllerTest, AddOption) { |
| CreateChooserDialog(); |
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"), |
| - MockChooserController::kNoImage); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("a"), |
| + MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected, MockChooserController::kPaired); |
| 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); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(0, @"a"); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kPaired); |
| ASSERT_FALSE(connect_button_.enabled); |
| ASSERT_TRUE(cancel_button_.enabled); |
| ASSERT_TRUE(help_button_.enabled); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| EXPECT_EQ(2, table_view_.numberOfRows); |
| EXPECT_EQ(1, table_view_.numberOfColumns); |
| ASSERT_TRUE(table_view_.enabled); |
| EXPECT_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs( |
| - 1, MockChooserController::kSignalStrengthLevel0Bar); |
| + ExpectRowImageIs(1, MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(1, @"b"); |
| + ExpectRowPairedStatusIs(1, MockChooserController::kNotPaired); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| EXPECT_EQ(3, table_view_.numberOfRows); |
| EXPECT_EQ(1, table_view_.numberOfColumns); |
| ASSERT_TRUE(table_view_.enabled); |
| EXPECT_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs( |
| - 2, MockChooserController::kSignalStrengthLevel1Bar); |
| + ExpectRowImageIs(2, MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(2, @"c"); |
| + ExpectRowPairedStatusIs(2, MockChooserController::kNotPaired); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar); |
| - ExpectSignalStrengthLevelImageIs( |
| - 3, MockChooserController::kSignalStrengthLevel2Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + ExpectRowImageIs(3, MockChooserController::kSignalStrengthLevel2Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(3, @"d"); |
| + ExpectRowPairedStatusIs(3, MockChooserController::kNotPaired); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar); |
| - ExpectSignalStrengthLevelImageIs( |
| - 4, MockChooserController::kSignalStrengthLevel3Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("e"), MockChooserController::kSignalStrengthLevel3Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + ExpectRowImageIs(4, MockChooserController::kSignalStrengthLevel3Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(4, @"e"); |
| + ExpectRowPairedStatusIs(4, MockChooserController::kNotPaired); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar); |
| - ExpectSignalStrengthLevelImageIs( |
| - 5, MockChooserController::kSignalStrengthLevel4Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("f"), MockChooserController::kSignalStrengthLevel4Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + ExpectRowImageIs(5, MockChooserController::kSignalStrengthLevel4Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(5, @"f"); |
| + ExpectRowPairedStatusIs(5, MockChooserController::kNotPaired); |
| } |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + |
| + 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_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(0, @"a"); |
| - ExpectSignalStrengthLevelImageIs( |
| - 1, MockChooserController::kSignalStrengthLevel1Bar); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kPaired); |
| + ExpectRowImageIs(1, MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(1, @"c"); |
| + ExpectRowPairedStatusIs(1, MockChooserController::kNotPaired); |
| // 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); |
| @@ -226,14 +272,14 @@ TEST_F(ChooserDialogCocoaControllerTest, RemoveOption) { |
| 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_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); |
| @@ -241,98 +287,126 @@ 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); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| } |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + |
| + mock_chooser_controller_->OptionUpdated( |
| base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), |
| - MockChooserController::kSignalStrengthLevel2Bar); |
| + MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected, MockChooserController::kPaired); |
| EXPECT_EQ(3, table_view_.numberOfRows); |
| EXPECT_EQ(1, table_view_.numberOfColumns); |
| ASSERT_TRUE(table_view_.enabled); |
| EXPECT_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(0, @"a"); |
| - ExpectSignalStrengthLevelImageIs( |
| - 1, MockChooserController::kSignalStrengthLevel2Bar); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kPaired); |
| + ExpectRowImageIs(1, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(1, @"d"); |
| - ExpectSignalStrengthLevelImageIs( |
| - 2, MockChooserController::kSignalStrengthLevel1Bar); |
| + ExpectRowPairedStatusIs(1, MockChooserController::kPaired); |
| + ExpectRowImageIs(2, MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(2, @"c"); |
| + ExpectRowPairedStatusIs(2, MockChooserController::kNotPaired); |
| } |
| TEST_F(ChooserDialogCocoaControllerTest, AddAndRemoveOption) { |
| CreateChooserDialog(); |
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"), |
| - MockChooserController::kNoImage); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("a"), |
| + MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected, MockChooserController::kPaired); |
| EXPECT_EQ(1, table_view_.numberOfRows); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| 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::kNotConnected, MockChooserController::kNotPaired); |
| EXPECT_EQ(2, table_view_.numberOfRows); |
| - chooser_controller_->OptionAdded( |
| - base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("d"), MockChooserController::kSignalStrengthLevel2Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + |
| + mock_chooser_controller_->OptionUpdated( |
| base::ASCIIToUTF16("b"), base::ASCIIToUTF16("d"), |
| - MockChooserController::kSignalStrengthLevel2Bar); |
| + MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected, MockChooserController::kPaired); |
| - 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_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(0, @"a"); |
| - ExpectSignalStrengthLevelImageIs( |
| - 1, MockChooserController::kSignalStrengthLevel1Bar); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kPaired); |
| + ExpectRowImageIs(1, MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(1, @"c"); |
| + ExpectRowPairedStatusIs(1, MockChooserController::kNotPaired); |
| } |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // Select option 0. |
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] |
| @@ -361,12 +435,16 @@ 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // Select option 0. |
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] |
| @@ -390,12 +468,16 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // Select option 1. |
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] |
| @@ -406,13 +488,13 @@ TEST_F(ChooserDialogCocoaControllerTest, SelectAnOptionAndRemoveAnotherOption) { |
| // 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); |
| // 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); |
| @@ -422,12 +504,16 @@ 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // Select option 1. |
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] |
| @@ -437,7 +523,7 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| ASSERT_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); |
| @@ -449,31 +535,40 @@ 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // 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::kConnected, MockChooserController::kPaired); |
| EXPECT_EQ(1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(0, @"a"); |
| - ExpectSignalStrengthLevelImageIs( |
| - 1, MockChooserController::kSignalStrengthLevel2Bar); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kPaired); |
| + ExpectRowImageIs(1, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected); |
| ExpectRowTextIs(1, @"d"); |
| - ExpectSignalStrengthLevelImageIs( |
| - 2, MockChooserController::kSignalStrengthLevel1Bar); |
| + ExpectRowPairedStatusIs(1, MockChooserController::kPaired); |
| + ExpectRowImageIs(2, MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(2, @"c"); |
| + ExpectRowPairedStatusIs(2, MockChooserController::kNotPaired); |
| ASSERT_TRUE(connect_button_.enabled); |
| } |
| @@ -481,8 +576,10 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| AddAnOptionAndSelectItAndRemoveTheSelectedOption) { |
| CreateChooserDialog(); |
| - chooser_controller_->OptionAdded(base::ASCIIToUTF16("a"), |
| - MockChooserController::kNoImage); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("a"), |
| + MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected, MockChooserController::kPaired); |
| // Select option 0. |
| [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] |
| @@ -492,7 +589,7 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| ASSERT_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); |
| @@ -500,9 +597,11 @@ 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); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| // Since no option selected, the "Connect" button should be disabled. |
| ASSERT_FALSE(connect_button_.enabled); |
| } |
| @@ -510,65 +609,77 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + |
| + 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // 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." |
| @@ -578,9 +689,11 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) { |
| ASSERT_FALSE(table_view_.enabled); |
| // No option selected. |
| EXPECT_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_TRUE(status_.hidden); |
| EXPECT_FALSE(rescan_button_.hidden); |
| @@ -588,12 +701,16 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) { |
| ASSERT_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); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("a"), |
| + MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| ASSERT_TRUE(table_view_.enabled); |
| EXPECT_EQ(3, table_view_.numberOfRows); |
| // Select option 1. |
| @@ -603,7 +720,7 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) { |
| ASSERT_TRUE(connect_button_.enabled); |
| ASSERT_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,24 +730,28 @@ TEST_F(ChooserDialogCocoaControllerTest, AdapterOnAndOffAndOn) { |
| EXPECT_FALSE(table_view_.enabled); |
| // No option selected. |
| EXPECT_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF)); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| 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()); |
| + EXPECT_EQ(0u, mock_chooser_controller_->NumOptions()); |
| ASSERT_FALSE(connect_button_.enabled); |
| ASSERT_TRUE(cancel_button_.enabled); |
| - chooser_controller_->OnAdapterPresenceChanged( |
| + mock_chooser_controller_->OnAdapterPresenceChanged( |
| content::BluetoothChooser::AdapterPresence::POWERED_ON); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)); |
| - EXPECT_EQ(0u, chooser_controller_->NumOptions()); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| + EXPECT_EQ(0u, mock_chooser_controller_->NumOptions()); |
| ASSERT_FALSE(connect_button_.enabled); |
| ASSERT_TRUE(cancel_button_.enabled); |
| } |
| @@ -639,12 +760,16 @@ 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| EXPECT_FALSE(table_view_.hidden); |
| ASSERT_TRUE(table_view_.enabled); |
| EXPECT_EQ(3, table_view_.numberOfRows); |
| @@ -658,7 +783,7 @@ TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) { |
| ASSERT_TRUE(connect_button_.enabled); |
| ASSERT_TRUE(cancel_button_.enabled); |
| - chooser_controller_->OnDiscoveryStateChanged( |
| + mock_chooser_controller_->OnDiscoveryStateChanged( |
| content::BluetoothChooser::DiscoveryState::DISCOVERING); |
| EXPECT_TRUE(table_view_.hidden); |
| EXPECT_FALSE(spinner_.hidden); |
| @@ -668,7 +793,7 @@ TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) { |
| ASSERT_FALSE(connect_button_.enabled); |
| ASSERT_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." |
| @@ -678,9 +803,11 @@ TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) { |
| ASSERT_FALSE(table_view_.enabled); |
| // No option selected. |
| EXPECT_EQ(-1, table_view_.selectedRow); |
| - ExpectSignalStrengthLevelImageIs(0, MockChooserController::kNoImage); |
| + ExpectRowImageIs(0, MockChooserController::kNoSignalStrengthLevelImage, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs( |
| 0, l10n_util::GetNSString(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_TRUE(status_.hidden); |
| EXPECT_FALSE(rescan_button_.hidden); |
| @@ -693,28 +820,34 @@ 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| [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::kNotConnected, MockChooserController::kNotPaired); |
| 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); |
| - ExpectSignalStrengthLevelImageIs( |
| - 0, MockChooserController::kSignalStrengthLevel2Bar); |
| + ExpectRowImageIs(0, MockChooserController::kSignalStrengthLevel2Bar, |
| + MockChooserController::kNotConnected); |
| ExpectRowTextIs(0, @"d"); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_FALSE(status_.hidden); |
| EXPECT_TRUE(rescan_button_.hidden); |
| @@ -727,13 +860,14 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| ASSERT_TRUE(connect_button_.enabled); |
| ASSERT_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_EQ(1, table_view_.numberOfRows); |
| EXPECT_EQ(0, table_view_.selectedRow); |
| ExpectRowTextIs(0, @"d"); |
| + ExpectRowPairedStatusIs(0, MockChooserController::kNotPaired); |
| EXPECT_TRUE(spinner_.hidden); |
| EXPECT_TRUE(status_.hidden); |
| EXPECT_FALSE(rescan_button_.hidden); |
| @@ -744,25 +878,29 @@ TEST_F(ChooserDialogCocoaControllerTest, |
| 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::kConnected, MockChooserController::kPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("b"), MockChooserController::kSignalStrengthLevel0Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| + mock_chooser_controller_->OptionAdded( |
| + base::ASCIIToUTF16("c"), MockChooserController::kSignalStrengthLevel1Bar, |
| + MockChooserController::kNotConnected, MockChooserController::kNotPaired); |
| // 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_]; |
| } |