| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/string_number_conversions.h" |
| 6 #include "chrome/browser/system_monitor/media_storage_util.h" |
| 5 #include "chrome/browser/media_gallery/media_galleries_dialog_controller_mock.h" | 7 #include "chrome/browser/media_gallery/media_galleries_dialog_controller_mock.h" |
| 6 #include "chrome/browser/ui/gtk/extensions/media_galleries_dialog_gtk.h" | 8 #include "chrome/browser/ui/gtk/extensions/media_galleries_dialog_gtk.h" |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 10 |
| 9 using ::testing::_; | 11 using ::testing::_; |
| 10 using ::testing::NiceMock; | 12 using ::testing::NiceMock; |
| 11 using ::testing::ReturnRef; | 13 using ::testing::ReturnRef; |
| 12 | 14 |
| 13 namespace chrome { | 15 namespace chrome { |
| 14 | 16 |
| 17 namespace { |
| 18 |
| 19 MediaGalleryPrefInfo MakePrefInfoForTesting(MediaGalleryPrefId id) { |
| 20 MediaGalleryPrefInfo gallery; |
| 21 gallery.pref_id = id; |
| 22 gallery.device_id = |
| 23 MediaStorageUtil::MakeDeviceId(MediaStorageUtil::FIXED_MASS_STORAGE, |
| 24 base::Int64ToString(id)); |
| 25 return gallery; |
| 26 } |
| 27 |
| 28 } // namespace |
| 29 |
| 15 class MediaGalleriesDialogTest : public testing::Test { | 30 class MediaGalleriesDialogTest : public testing::Test { |
| 16 }; | 31 }; |
| 17 | 32 |
| 18 // Tests that checkboxes are initialized according to the contents of | 33 // Tests that checkboxes are initialized according to the contents of |
| 19 // permissions(). | 34 // permissions(). |
| 20 TEST_F(MediaGalleriesDialogTest, InitializeCheckboxes) { | 35 TEST_F(MediaGalleriesDialogTest, InitializeCheckboxes) { |
| 21 NiceMock<MediaGalleriesDialogControllerMock> controller; | 36 NiceMock<MediaGalleriesDialogControllerMock> controller; |
| 22 | 37 |
| 23 MediaGalleriesDialogController::KnownGalleryPermissions permissions; | 38 MediaGalleriesDialogController::KnownGalleryPermissions permissions; |
| 24 MediaGalleryPrefInfo gallery1; | 39 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); |
| 25 gallery1.pref_id = 1; | |
| 26 permissions[1] = | 40 permissions[1] = |
| 27 MediaGalleriesDialogController::GalleryPermission(gallery1, true); | 41 MediaGalleriesDialogController::GalleryPermission(gallery1, true); |
| 28 MediaGalleryPrefInfo gallery2; | 42 MediaGalleryPrefInfo gallery2 = MakePrefInfoForTesting(2); |
| 29 gallery2.pref_id = 2; | |
| 30 permissions[2] = | 43 permissions[2] = |
| 31 MediaGalleriesDialogController::GalleryPermission(gallery2, false); | 44 MediaGalleriesDialogController::GalleryPermission(gallery2, false); |
| 32 EXPECT_CALL(controller, permissions()). | 45 EXPECT_CALL(controller, permissions()). |
| 33 WillRepeatedly(ReturnRef(permissions)); | 46 WillRepeatedly(ReturnRef(permissions)); |
| 34 | 47 |
| 35 // Initializing checkboxes should not cause them to be toggled. | 48 // Initializing checkboxes should not cause them to be toggled. |
| 36 EXPECT_CALL(controller, DidToggleGallery(_, _)). | 49 EXPECT_CALL(controller, DidToggleGallery(_, _)). |
| 37 Times(0); | 50 Times(0); |
| 38 | 51 |
| 39 MediaGalleriesDialogGtk dialog(&controller); | 52 MediaGalleriesDialogGtk dialog(&controller); |
| 40 EXPECT_EQ(2U, dialog.checkbox_map_.size()); | 53 EXPECT_EQ(2U, dialog.checkbox_map_.size()); |
| 41 | 54 |
| 42 GtkWidget* checkbox1 = dialog.checkbox_map_[&permissions[1].pref_info]; | 55 GtkWidget* checkbox1 = dialog.checkbox_map_[&permissions[1].pref_info]; |
| 43 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox1)); | 56 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox1)); |
| 44 EXPECT_TRUE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox1))); | 57 EXPECT_TRUE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox1))); |
| 45 | 58 |
| 46 GtkWidget* checkbox2 = dialog.checkbox_map_[&permissions[2].pref_info]; | 59 GtkWidget* checkbox2 = dialog.checkbox_map_[&permissions[2].pref_info]; |
| 47 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox2)); | 60 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox2)); |
| 48 EXPECT_FALSE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox2))); | 61 EXPECT_FALSE(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbox2))); |
| 49 } | 62 } |
| 50 | 63 |
| 51 // Tests that toggling checkboxes updates the controller. | 64 // Tests that toggling checkboxes updates the controller. |
| 52 TEST_F(MediaGalleriesDialogTest, ToggleCheckboxes) { | 65 TEST_F(MediaGalleriesDialogTest, ToggleCheckboxes) { |
| 53 NiceMock<MediaGalleriesDialogControllerMock> controller; | 66 NiceMock<MediaGalleriesDialogControllerMock> controller; |
| 54 | 67 |
| 55 MediaGalleriesDialogController::KnownGalleryPermissions permissions; | 68 MediaGalleriesDialogController::KnownGalleryPermissions permissions; |
| 56 MediaGalleryPrefInfo gallery1; | 69 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); |
| 57 gallery1.pref_id = 1; | |
| 58 permissions[1] = | 70 permissions[1] = |
| 59 MediaGalleriesDialogController::GalleryPermission(gallery1, true); | 71 MediaGalleriesDialogController::GalleryPermission(gallery1, true); |
| 60 EXPECT_CALL(controller, permissions()). | 72 EXPECT_CALL(controller, permissions()). |
| 61 WillRepeatedly(ReturnRef(permissions)); | 73 WillRepeatedly(ReturnRef(permissions)); |
| 62 | 74 |
| 63 MediaGalleriesDialogGtk dialog(&controller); | 75 MediaGalleriesDialogGtk dialog(&controller); |
| 64 EXPECT_EQ(1U, dialog.checkbox_map_.size()); | 76 EXPECT_EQ(1U, dialog.checkbox_map_.size()); |
| 65 GtkWidget* checkbox = | 77 GtkWidget* checkbox = |
| 66 dialog.checkbox_map_[&permissions[1].pref_info]; | 78 dialog.checkbox_map_[&permissions[1].pref_info]; |
| 67 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox)); | 79 ASSERT_TRUE(GTK_IS_TOGGLE_BUTTON(checkbox)); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 80 NiceMock<MediaGalleriesDialogControllerMock> controller; | 92 NiceMock<MediaGalleriesDialogControllerMock> controller; |
| 81 | 93 |
| 82 MediaGalleriesDialogController::KnownGalleryPermissions permissions; | 94 MediaGalleriesDialogController::KnownGalleryPermissions permissions; |
| 83 EXPECT_CALL(controller, permissions()). | 95 EXPECT_CALL(controller, permissions()). |
| 84 WillRepeatedly(ReturnRef(permissions)); | 96 WillRepeatedly(ReturnRef(permissions)); |
| 85 | 97 |
| 86 MediaGalleriesDialogGtk dialog(&controller); | 98 MediaGalleriesDialogGtk dialog(&controller); |
| 87 | 99 |
| 88 EXPECT_TRUE(dialog.checkbox_map_.empty()); | 100 EXPECT_TRUE(dialog.checkbox_map_.empty()); |
| 89 | 101 |
| 90 MediaGalleryPrefInfo gallery1; | 102 MediaGalleryPrefInfo gallery1 = MakePrefInfoForTesting(1); |
| 91 dialog.UpdateGallery(&gallery1, true); | 103 dialog.UpdateGallery(&gallery1, true); |
| 92 EXPECT_EQ(1U, dialog.checkbox_map_.size()); | 104 EXPECT_EQ(1U, dialog.checkbox_map_.size()); |
| 93 | 105 |
| 94 MediaGalleryPrefInfo gallery2; | 106 MediaGalleryPrefInfo gallery2 = MakePrefInfoForTesting(2); |
| 95 dialog.UpdateGallery(&gallery2, true); | 107 dialog.UpdateGallery(&gallery2, true); |
| 96 EXPECT_EQ(2U, dialog.checkbox_map_.size()); | 108 EXPECT_EQ(2U, dialog.checkbox_map_.size()); |
| 97 | 109 |
| 98 dialog.UpdateGallery(&gallery2, false); | 110 dialog.UpdateGallery(&gallery2, false); |
| 99 EXPECT_EQ(2U, dialog.checkbox_map_.size()); | 111 EXPECT_EQ(2U, dialog.checkbox_map_.size()); |
| 100 } | 112 } |
| 101 | 113 |
| 102 } // namespace chrome | 114 } // namespace chrome |
| OLD | NEW |