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

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

Issue 310383004: Make a controller interface for media galleries dialogs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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/media_galleries_dialog_cocoa_unittest.mm
diff --git a/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_unittest.mm b/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_unittest.mm
index a2a312a4405e6d805bfae060845ef29a17f4a46c..d9bc3ca7721df2d5fae8bedda39dcc8172f5d6bb 100644
--- a/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_unittest.mm
+++ b/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa_unittest.mm
@@ -12,6 +12,8 @@
#include "testing/gtest/include/gtest/gtest.h"
using ::testing::_;
+using ::testing::AnyNumber;
+using ::testing::Mock;
using ::testing::NiceMock;
using ::testing::Return;
using ::testing::ReturnPointee;
@@ -49,19 +51,38 @@ class MediaGalleriesDialogTest : public testing::Test {
public:
MediaGalleriesDialogTest() {}
virtual ~MediaGalleriesDialogTest() {}
+
virtual void SetUp() OVERRIDE {
- dummy_extension_ = extensions::test_util::CreateExtensionWithID("dummy");
+ std::vector<base::string16> headers;
+ headers.push_back(base::string16());
+ headers.push_back(base::ASCIIToUTF16("header2"));
+ ON_CALL(controller_, GetSectionHeaders()).
+ WillByDefault(Return(headers));
+ EXPECT_CALL(controller_, GetSectionEntries(_)).
+ Times(AnyNumber());
}
+
virtual void TearDown() OVERRIDE {
- dummy_extension_ = NULL;
+ Mock::VerifyAndClearExpectations(&controller_);
+ dialog_.reset();
+ }
+
+ NiceMock<MediaGalleriesDialogControllerMock>* controller() {
+ return &controller_;
}
- const extensions::Extension& dummy_extension() const {
- return *dummy_extension_;
+ MediaGalleriesDialogCocoa* GetOrCreateDialog() {
+ if (!dialog_.get()) {
+ dialog_.reset(static_cast<MediaGalleriesDialogCocoa*>(
+ MediaGalleriesDialog::Create(&controller_)));
+ }
+ return dialog_.get();
}
private:
- scoped_refptr<extensions::Extension> dummy_extension_;
+ NiceMock<MediaGalleriesDialogControllerMock> controller_;
+
+ scoped_ptr<MediaGalleriesDialogCocoa> dialog_;
DISALLOW_COPY_AND_ASSIGN(MediaGalleriesDialogTest);
};
@@ -69,70 +90,48 @@ class MediaGalleriesDialogTest : public testing::Test {
// Tests that checkboxes are initialized according to the contents of
// permissions().
TEST_F(MediaGalleriesDialogTest, InitializeCheckboxes) {
- NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension());
-
- MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions;
+ MediaGalleriesDialogController::Entries attached_permissions;
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 1, MakePrefInfoForTesting(10), true));
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(1), true));
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 2, MakePrefInfoForTesting(20), false));
- EXPECT_CALL(controller, AttachedPermissions()).
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(2), false));
+ EXPECT_CALL(*controller(), GetSectionEntries(0)).
WillRepeatedly(Return(attached_permissions));
- MediaGalleriesDialogController::GalleryPermissionsVector
- unattached_permissions;
- EXPECT_CALL(controller, UnattachedPermissions()).
- WillRepeatedly(Return(unattached_permissions));
-
// Initializing checkboxes should not cause them to be toggled.
- EXPECT_CALL(controller, DidToggleGallery(_, _)).
+ EXPECT_CALL(*controller(), DidToggleEntry(_, _)).
Times(0);
- scoped_ptr<MediaGalleriesDialogCocoa> dialog(
- static_cast<MediaGalleriesDialogCocoa*>(
- MediaGalleriesDialog::Create(&controller)));
- EXPECT_EQ(2U, [[dialog->checkbox_container_ subviews] count]);
+ EXPECT_EQ(2U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
NSButton* checkbox1 =
- [[dialog->checkbox_container_ subviews] objectAtIndex:0];
+ [[GetOrCreateDialog()->checkbox_container_ subviews] objectAtIndex:0];
EXPECT_EQ([checkbox1 state], NSOnState);
NSButton* checkbox2 =
- [[dialog->checkbox_container_ subviews] objectAtIndex:1];
+ [[GetOrCreateDialog()->checkbox_container_ subviews] objectAtIndex:1];
EXPECT_EQ([checkbox2 state], NSOffState);
}
// Tests that toggling checkboxes updates the controller.
TEST_F(MediaGalleriesDialogTest, ToggleCheckboxes) {
- NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension());
-
- MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions;
+ MediaGalleriesDialogController::Entries attached_permissions;
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 1, MakePrefInfoForTesting(10), true));
- EXPECT_CALL(controller, AttachedPermissions()).
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(1), true));
+ EXPECT_CALL(*controller(), GetSectionEntries(0)).
WillRepeatedly(Return(attached_permissions));
- MediaGalleriesDialogController::GalleryPermissionsVector
- unattached_permissions;
- EXPECT_CALL(controller, UnattachedPermissions()).
- WillRepeatedly(Return(unattached_permissions));
-
- scoped_ptr<MediaGalleriesDialogCocoa> dialog(
- static_cast<MediaGalleriesDialogCocoa*>(
- MediaGalleriesDialog::Create(&controller)));
- EXPECT_EQ(1U, [[dialog->checkbox_container_ subviews] count]);
+ EXPECT_EQ(1U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
- NSButton* checkbox = [[dialog->checkbox_container_ subviews] objectAtIndex:0];
+ NSButton* checkbox =
+ [[GetOrCreateDialog()->checkbox_container_ subviews] objectAtIndex:0];
EXPECT_EQ([checkbox state], NSOnState);
- EXPECT_CALL(controller, DidToggleGallery(1, false));
+ EXPECT_CALL(*controller(), DidToggleEntry(1, false));
[checkbox performClick:nil];
EXPECT_EQ([checkbox state], NSOffState);
- EXPECT_CALL(controller, DidToggleGallery(1, true));
+ EXPECT_CALL(*controller(), DidToggleEntry(1, true));
[checkbox performClick:nil];
EXPECT_EQ([checkbox state], NSOnState);
}
@@ -140,89 +139,71 @@ TEST_F(MediaGalleriesDialogTest, ToggleCheckboxes) {
// Tests that UpdateGalleries will add a new checkbox, but only if it refers to
// a gallery that the dialog hasn't seen before.
TEST_F(MediaGalleriesDialogTest, UpdateAdds) {
- NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension());
-
- MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions;
- EXPECT_CALL(controller, AttachedPermissions()).
+ MediaGalleriesDialogController::Entries attached_permissions;
+ EXPECT_CALL(*controller(), GetSectionEntries(0)).
WillRepeatedly(ReturnPointee(&attached_permissions));
- MediaGalleriesDialogController::GalleryPermissionsVector
- unattached_permissions;
- EXPECT_CALL(controller, UnattachedPermissions()).
- WillRepeatedly(Return(unattached_permissions));
-
- scoped_ptr<MediaGalleriesDialogCocoa> dialog(
- static_cast<MediaGalleriesDialogCocoa*>(
- MediaGalleriesDialog::Create(&controller)));
-
- EXPECT_EQ(0U, [[dialog->checkbox_container_ subviews] count]);
- CGFloat old_container_height = NSHeight([dialog->checkbox_container_ frame]);
+ EXPECT_EQ(0U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
+ CGFloat old_container_height =
+ NSHeight([GetOrCreateDialog()->checkbox_container_ frame]);
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 1, MakePrefInfoForTesting(10), true));
- dialog->UpdateGalleries();
- EXPECT_EQ(1U, [[dialog->checkbox_container_ subviews] count]);
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(1), true));
+ GetOrCreateDialog()->UpdateGalleries();
+ EXPECT_EQ(1U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
// The checkbox container should be taller.
- CGFloat new_container_height = NSHeight([dialog->checkbox_container_ frame]);
+ CGFloat new_container_height =
+ NSHeight([GetOrCreateDialog()->checkbox_container_ frame]);
EXPECT_GT(new_container_height, old_container_height);
old_container_height = new_container_height;
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 2, MakePrefInfoForTesting(20), true));
- dialog->UpdateGalleries();
- EXPECT_EQ(2U, [[dialog->checkbox_container_ subviews] count]);
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(2), true));
+ GetOrCreateDialog()->UpdateGalleries();
+ EXPECT_EQ(2U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
// The checkbox container should be taller.
- new_container_height = NSHeight([dialog->checkbox_container_ frame]);
+ new_container_height =
+ NSHeight([GetOrCreateDialog()->checkbox_container_ frame]);
EXPECT_GT(new_container_height, old_container_height);
old_container_height = new_container_height;
- attached_permissions[1].allowed = false;
- dialog->UpdateGalleries();
- EXPECT_EQ(2U, [[dialog->checkbox_container_ subviews] count]);
+ attached_permissions[1].selected = false;
+ GetOrCreateDialog()->UpdateGalleries();
+ EXPECT_EQ(2U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
// The checkbox container height should not have changed.
- new_container_height = NSHeight([dialog->checkbox_container_ frame]);
+ new_container_height =
+ NSHeight([GetOrCreateDialog()->checkbox_container_ frame]);
EXPECT_EQ(new_container_height, old_container_height);
}
TEST_F(MediaGalleriesDialogTest, ForgetDeletes) {
- NiceMock<MediaGalleriesDialogControllerMock> controller(dummy_extension());
-
- MediaGalleriesDialogController::GalleryPermissionsVector attached_permissions;
- EXPECT_CALL(controller, AttachedPermissions()).
+ MediaGalleriesDialogController::Entries attached_permissions;
+ EXPECT_CALL(*controller(), GetSectionEntries(0)).
WillRepeatedly(ReturnPointee(&attached_permissions));
- MediaGalleriesDialogController::GalleryPermissionsVector
- unattached_permissions;
- EXPECT_CALL(controller, UnattachedPermissions()).
- WillRepeatedly(Return(unattached_permissions));
-
- scoped_ptr<MediaGalleriesDialogCocoa> dialog(
- static_cast<MediaGalleriesDialogCocoa*>(
- MediaGalleriesDialog::Create(&controller)));
+ GetOrCreateDialog();
// Add a couple of galleries.
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 1, MakePrefInfoForTesting(10), true));
- dialog->UpdateGalleries();
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(1), true));
+ GetOrCreateDialog()->UpdateGalleries();
attached_permissions.push_back(
- MediaGalleriesDialogController::GalleryPermission(
- 2, MakePrefInfoForTesting(20), true));
- dialog->UpdateGalleries();
- EXPECT_EQ(2U, [[dialog->checkbox_container_ subviews] count]);
- CGFloat old_container_height = NSHeight([dialog->checkbox_container_ frame]);
+ MediaGalleriesDialogController::Entry(MakePrefInfoForTesting(2), true));
+ GetOrCreateDialog()->UpdateGalleries();
+ EXPECT_EQ(2U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
+ CGFloat old_container_height =
+ NSHeight([GetOrCreateDialog()->checkbox_container_ frame]);
// Remove a gallery.
attached_permissions.erase(attached_permissions.begin());
- dialog->UpdateGalleries();
- EXPECT_EQ(1U, [[dialog->checkbox_container_ subviews] count]);
+ GetOrCreateDialog()->UpdateGalleries();
+ EXPECT_EQ(1U, [[GetOrCreateDialog()->checkbox_container_ subviews] count]);
// The checkbox container should be shorter.
- CGFloat new_container_height = NSHeight([dialog->checkbox_container_ frame]);
+ CGFloat new_container_height =
+ NSHeight([GetOrCreateDialog()->checkbox_container_ frame]);
EXPECT_LT(new_container_height, old_container_height);
}

Powered by Google App Engine
This is Rietveld 408576698