Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4426)

Unified Diff: chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller_unittest.mm

Issue 2304213002: Show device connection and paired status in chooser on Mac (Closed)
Patch Set: added comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_];
}

Powered by Google App Engine
This is Rietveld 408576698