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