| Index: chrome/browser/extensions/extension_prefs_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
|
| index 9548234834c7baccd463d369977b5da34c4d07cd..33baa07cf04ec3aab70bafd9d0fd526233c81c9a 100644
|
| --- a/chrome/browser/extensions/extension_prefs_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_prefs_unittest.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "extension_prefs_unittest.h"
|
|
|
| +#include "base/basictypes.h"
|
| #include "base/path_service.h"
|
| #include "base/scoped_temp_dir.h"
|
| #include "base/stl_util.h"
|
| @@ -101,6 +102,97 @@ class ExtensionPrefsLastPingDay : public ExtensionPrefsTest {
|
| };
|
| TEST_F(ExtensionPrefsLastPingDay, LastPingDay) {}
|
|
|
| +namespace {
|
| +
|
| +void AddGalleryPermission(MediaGalleryPrefId gallery, bool has_access,
|
| + std::vector<MediaGalleryPermission>* vector) {
|
| + MediaGalleryPermission permission;
|
| + permission.pref_id = gallery;
|
| + permission.has_permission = has_access;
|
| + vector->push_back(permission);
|
| +}
|
| +
|
| +} // namspace
|
| +
|
| +// Test the MediaGalleries permissions functions.
|
| +class MediaGalleriesPermissions : public ExtensionPrefsTest {
|
| + public:
|
| + virtual void Initialize() {
|
| + extension1_id_ = prefs_.AddExtensionAndReturnId("test1");
|
| + extension2_id_ = prefs_.AddExtensionAndReturnId("test2");
|
| + extension3_id_ = prefs_.AddExtensionAndReturnId("test3");
|
| + // Id4 isn't used to ensure that an empty permission list is ok.
|
| + extension4_id_ = prefs_.AddExtensionAndReturnId("test4");
|
| + Verify();
|
| +
|
| + prefs()->SetMediaGalleryPermission(extension1_id_, 1, false);
|
| + AddGalleryPermission(1, false, &extension1_expectation_);
|
| + Verify();
|
| +
|
| + prefs()->SetMediaGalleryPermission(extension1_id_, 2, true);
|
| + AddGalleryPermission(2, true, &extension1_expectation_);
|
| + Verify();
|
| +
|
| + prefs()->SetMediaGalleryPermission(extension1_id_, 2, false);
|
| + extension1_expectation_[1].has_permission = false;
|
| + Verify();
|
| +
|
| + prefs()->SetMediaGalleryPermission(extension2_id_, 1, true);
|
| + prefs()->SetMediaGalleryPermission(extension2_id_, 3, true);
|
| + prefs()->SetMediaGalleryPermission(extension2_id_, 4, true);
|
| + AddGalleryPermission(1, true, &extension2_expectation_);
|
| + AddGalleryPermission(3, true, &extension2_expectation_);
|
| + AddGalleryPermission(4, true, &extension2_expectation_);
|
| + Verify();
|
| +
|
| + prefs()->SetMediaGalleryPermission(extension3_id_, 3, true);
|
| + AddGalleryPermission(3, true, &extension3_expectation_);
|
| + Verify();
|
| +
|
| + prefs()->RemoveMediaGalleryPermissions(3);
|
| + extension2_expectation_.erase(extension2_expectation_.begin() + 1);
|
| + extension3_expectation_.erase(extension3_expectation_.begin());
|
| + Verify();
|
| + }
|
| +
|
| + virtual void Verify() {
|
| + struct TestData {
|
| + std::string* id;
|
| + std::vector<MediaGalleryPermission>* expectation;
|
| + };
|
| +
|
| + const TestData test_data[] = {{&extension1_id_, &extension1_expectation_},
|
| + {&extension2_id_, &extension2_expectation_},
|
| + {&extension3_id_, &extension3_expectation_},
|
| + {&extension4_id_, &extension4_expectation_}};
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); i++) {
|
| + std::vector<MediaGalleryPermission> actual =
|
| + prefs()->GetMediaGalleryPermissions(*test_data[i].id);
|
| + EXPECT_EQ(test_data[i].expectation->size(), actual.size());
|
| + for (size_t permission_entry = 0;
|
| + permission_entry < test_data[i].expectation->size() &&
|
| + permission_entry < actual.size();
|
| + permission_entry++) {
|
| + EXPECT_EQ(test_data[i].expectation->at(permission_entry).pref_id,
|
| + actual[permission_entry].pref_id);
|
| + EXPECT_EQ(test_data[i].expectation->at(permission_entry).has_permission,
|
| + actual[permission_entry].has_permission);
|
| + }
|
| + }
|
| + }
|
| +
|
| + private:
|
| + std::string extension1_id_;
|
| + std::string extension2_id_;
|
| + std::string extension3_id_;
|
| + std::string extension4_id_;
|
| +
|
| + std::vector<MediaGalleryPermission> extension1_expectation_;
|
| + std::vector<MediaGalleryPermission> extension2_expectation_;
|
| + std::vector<MediaGalleryPermission> extension3_expectation_;
|
| + std::vector<MediaGalleryPermission> extension4_expectation_;
|
| +};
|
| +TEST_F(MediaGalleriesPermissions, MediaGalleries) {}
|
|
|
| // Tests the GetToolbarOrder/SetToolbarOrder functions.
|
| class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest {
|
|
|