| 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);
|
| }
|
|
|