| Index: chrome/browser/media_galleries/media_galleries_dialog_controller_unittest.cc
|
| diff --git a/chrome/browser/media_galleries/media_galleries_dialog_controller_unittest.cc b/chrome/browser/media_galleries/media_galleries_dialog_controller_unittest.cc
|
| deleted file mode 100644
|
| index a643afae33a2652a74a1d203c6a4a171372f5213..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/media_galleries/media_galleries_dialog_controller_unittest.cc
|
| +++ /dev/null
|
| @@ -1,322 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/command_line.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/run_loop.h"
|
| -#include "base/strings/string16.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/extensions/test_extension_system.h"
|
| -#include "chrome/browser/media_galleries/media_galleries_dialog_controller.h"
|
| -#include "chrome/browser/media_galleries/media_galleries_preferences.h"
|
| -#include "chrome/browser/media_galleries/media_galleries_test_util.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "components/storage_monitor/storage_info.h"
|
| -#include "components/storage_monitor/test_storage_monitor.h"
|
| -#include "content/public/test/test_browser_thread_bundle.h"
|
| -#include "extensions/common/permissions/media_galleries_permission.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| -#include "chrome/browser/chromeos/login/users/user_manager.h"
|
| -#include "chrome/browser/chromeos/settings/cros_settings.h"
|
| -#include "chrome/browser/chromeos/settings/device_settings_service.h"
|
| -#endif
|
| -
|
| -using storage_monitor::StorageInfo;
|
| -using storage_monitor::TestStorageMonitor;
|
| -
|
| -namespace {
|
| -
|
| -std::string GalleryName(const MediaGalleryPrefInfo& gallery) {
|
| - base::string16 name = gallery.GetGalleryDisplayName();
|
| - return base::UTF16ToASCII(name);
|
| -}
|
| -
|
| -class MockMediaGalleriesDialog
|
| - : public MediaGalleriesDialog {
|
| - public:
|
| - typedef base::Callback<void(int update_count)> DialogDestroyedCallback;
|
| -
|
| - explicit MockMediaGalleriesDialog(const DialogDestroyedCallback& callback)
|
| - : update_count_(0),
|
| - dialog_destroyed_callback_(callback) {
|
| - }
|
| -
|
| - virtual ~MockMediaGalleriesDialog() {
|
| - dialog_destroyed_callback_.Run(update_count_);
|
| - }
|
| -
|
| - // MockMediaGalleriesDialog implementation.
|
| - virtual void UpdateGalleries() OVERRIDE {
|
| - update_count_++;
|
| - }
|
| -
|
| - // Number of times UpdateResults has been called.
|
| - int update_count() {
|
| - return update_count_;
|
| - }
|
| -
|
| - private:
|
| - int update_count_;
|
| -
|
| - DialogDestroyedCallback dialog_destroyed_callback_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MockMediaGalleriesDialog);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -class MediaGalleriesDialogControllerTest : public ::testing::Test {
|
| - public:
|
| - MediaGalleriesDialogControllerTest()
|
| - : dialog_(NULL),
|
| - dialog_update_count_at_destruction_(0),
|
| - controller_(NULL),
|
| - profile_(new TestingProfile()),
|
| - weak_factory_(this) {
|
| - }
|
| -
|
| - virtual ~MediaGalleriesDialogControllerTest() {
|
| - EXPECT_FALSE(controller_);
|
| - EXPECT_FALSE(dialog_);
|
| - }
|
| -
|
| - virtual void SetUp() OVERRIDE {
|
| - ASSERT_TRUE(TestStorageMonitor::CreateAndInstall());
|
| -
|
| - extensions::TestExtensionSystem* extension_system(
|
| - static_cast<extensions::TestExtensionSystem*>(
|
| - extensions::ExtensionSystem::Get(profile_.get())));
|
| - extension_system->CreateExtensionService(
|
| - CommandLine::ForCurrentProcess(), base::FilePath(), false);
|
| -
|
| - gallery_prefs_.reset(new MediaGalleriesPreferences(profile_.get()));
|
| - base::RunLoop loop;
|
| - gallery_prefs_->EnsureInitialized(loop.QuitClosure());
|
| - loop.Run();
|
| -
|
| - std::vector<std::string> read_permissions;
|
| - read_permissions.push_back(
|
| - extensions::MediaGalleriesPermission::kReadPermission);
|
| - extension_ = AddMediaGalleriesApp("read", read_permissions, profile_.get());
|
| - }
|
| -
|
| - virtual void TearDown() OVERRIDE {
|
| - TestStorageMonitor::Destroy();
|
| - }
|
| -
|
| - void StartDialog() {
|
| - ASSERT_FALSE(controller_);
|
| - controller_ = new MediaGalleriesDialogController(
|
| - *extension_.get(),
|
| - gallery_prefs_.get(),
|
| - base::Bind(&MediaGalleriesDialogControllerTest::CreateMockDialog,
|
| - base::Unretained(this)),
|
| - base::Bind(
|
| - &MediaGalleriesDialogControllerTest::OnControllerDone,
|
| - base::Unretained(this)));
|
| - }
|
| -
|
| - MediaGalleriesDialogController* controller() {
|
| - return controller_;
|
| - }
|
| -
|
| - MockMediaGalleriesDialog* dialog() {
|
| - return dialog_;
|
| - }
|
| -
|
| - int dialog_update_count_at_destruction() {
|
| - EXPECT_FALSE(dialog_);
|
| - return dialog_update_count_at_destruction_;
|
| - }
|
| -
|
| - extensions::Extension* extension() {
|
| - return extension_.get();
|
| - }
|
| -
|
| - MediaGalleriesPreferences* gallery_prefs() {
|
| - return gallery_prefs_.get();
|
| - }
|
| -
|
| - GalleryDialogId GetDialogIdFromPrefId(MediaGalleryPrefId pref_id);
|
| -
|
| - void TestForgottenType(MediaGalleryPrefInfo::Type type);
|
| -
|
| - protected:
|
| - EnsureMediaDirectoriesExists mock_gallery_locations_;
|
| -
|
| - private:
|
| - MediaGalleriesDialog* CreateMockDialog(
|
| - MediaGalleriesDialogController* controller) {
|
| - EXPECT_FALSE(dialog_);
|
| - dialog_update_count_at_destruction_ = 0;
|
| - dialog_ = new MockMediaGalleriesDialog(base::Bind(
|
| - &MediaGalleriesDialogControllerTest::OnDialogDestroyed,
|
| - weak_factory_.GetWeakPtr()));
|
| - return dialog_;
|
| - }
|
| -
|
| - void OnDialogDestroyed(int update_count) {
|
| - EXPECT_TRUE(dialog_);
|
| - dialog_update_count_at_destruction_ = update_count;
|
| - dialog_ = NULL;
|
| - }
|
| -
|
| - void OnControllerDone() {
|
| - controller_ = NULL;
|
| - }
|
| -
|
| - // Needed for extension service & friends to work.
|
| - content::TestBrowserThreadBundle thread_bundle_;
|
| -
|
| - // The dialog is owned by the controller, but this pointer should only be
|
| - // valid while the dialog is live within the controller.
|
| - MockMediaGalleriesDialog* dialog_;
|
| - int dialog_update_count_at_destruction_;
|
| -
|
| - // The controller owns itself.
|
| - MediaGalleriesDialogController* controller_;
|
| -
|
| - scoped_refptr<extensions::Extension> extension_;
|
| -
|
| -#if defined OS_CHROMEOS
|
| - chromeos::ScopedTestDeviceSettingsService test_device_settings_service_;
|
| - chromeos::ScopedTestCrosSettings test_cros_settings_;
|
| - chromeos::ScopedTestUserManager test_user_manager_;
|
| -#endif
|
| -
|
| - TestStorageMonitor monitor_;
|
| - scoped_ptr<TestingProfile> profile_;
|
| - scoped_ptr<MediaGalleriesPreferences> gallery_prefs_;
|
| -
|
| - base::WeakPtrFactory<MediaGalleriesDialogControllerTest>
|
| - weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MediaGalleriesDialogControllerTest);
|
| -};
|
| -
|
| -GalleryDialogId
|
| -MediaGalleriesDialogControllerTest::GetDialogIdFromPrefId(
|
| - MediaGalleryPrefId pref_id) {
|
| - return controller_->GetDialogId(pref_id);
|
| -}
|
| -
|
| -void MediaGalleriesDialogControllerTest::TestForgottenType(
|
| - MediaGalleryPrefInfo::Type type) {
|
| - EXPECT_EQ(0U, gallery_prefs()->GalleriesForExtension(*extension()).size());
|
| -
|
| - MediaGalleryPrefId forgotten1 = gallery_prefs()->AddGalleryByPath(
|
| - MakeMediaGalleriesTestingPath("forgotten1"), type);
|
| - MediaGalleryPrefId forgotten2 = gallery_prefs()->AddGalleryByPath(
|
| - MakeMediaGalleriesTestingPath("forgotten2"), type);
|
| - // Show dialog and accept to verify 2 entries
|
| - StartDialog();
|
| - EXPECT_EQ(mock_gallery_locations_.num_galleries() + 2U,
|
| - controller()->AttachedPermissions().size());
|
| - EXPECT_EQ(0U, controller()->UnattachedPermissions().size());
|
| - controller()->DidToggleGallery(GetDialogIdFromPrefId(forgotten1), true);
|
| - controller()->DidToggleGallery(GetDialogIdFromPrefId(forgotten2), true);
|
| - controller()->DialogFinished(true);
|
| - EXPECT_EQ(2U, gallery_prefs()->GalleriesForExtension(*extension()).size());
|
| -
|
| - // Forget one and cancel to see that it's still there.
|
| - StartDialog();
|
| - controller()->DidForgetGallery(GetDialogIdFromPrefId(forgotten1));
|
| - EXPECT_EQ(mock_gallery_locations_.num_galleries() + 1U,
|
| - controller()->AttachedPermissions().size());
|
| - controller()->DialogFinished(false);
|
| - EXPECT_EQ(2U, gallery_prefs()->GalleriesForExtension(*extension()).size());
|
| -
|
| - // Forget one and confirm to see that it's gone.
|
| - StartDialog();
|
| - controller()->DidForgetGallery(GetDialogIdFromPrefId(forgotten1));
|
| - EXPECT_EQ(mock_gallery_locations_.num_galleries() + 1U,
|
| - controller()->AttachedPermissions().size());
|
| - controller()->DialogFinished(true);
|
| - EXPECT_EQ(1U, gallery_prefs()->GalleriesForExtension(*extension()).size());
|
| -
|
| - // Add a new one and forget it & see that it's gone.
|
| - MediaGalleryPrefId forgotten3 = gallery_prefs()->AddGalleryByPath(
|
| - MakeMediaGalleriesTestingPath("forgotten3"), type);
|
| - StartDialog();
|
| - EXPECT_EQ(mock_gallery_locations_.num_galleries() + 2U,
|
| - controller()->AttachedPermissions().size());
|
| - EXPECT_EQ(0U, controller()->UnattachedPermissions().size());
|
| - controller()->DidToggleGallery(GetDialogIdFromPrefId(forgotten3), true);
|
| - controller()->DidForgetGallery(GetDialogIdFromPrefId(forgotten3));
|
| - EXPECT_EQ(mock_gallery_locations_.num_galleries() + 1U,
|
| - controller()->AttachedPermissions().size());
|
| - controller()->DialogFinished(true);
|
| - EXPECT_EQ(1U, gallery_prefs()->GalleriesForExtension(*extension()).size());
|
| -}
|
| -
|
| -TEST_F(MediaGalleriesDialogControllerTest, TestForgottenUserAdded) {
|
| - TestForgottenType(MediaGalleryPrefInfo::kUserAdded);
|
| -}
|
| -
|
| -TEST_F(MediaGalleriesDialogControllerTest, TestForgottenAutoDetected) {
|
| - TestForgottenType(MediaGalleryPrefInfo::kAutoDetected);
|
| -}
|
| -
|
| -TEST_F(MediaGalleriesDialogControllerTest, TestForgottenScanResult) {
|
| - TestForgottenType(MediaGalleryPrefInfo::kScanResult);
|
| -}
|
| -
|
| -TEST_F(MediaGalleriesDialogControllerTest, TestNameGeneration) {
|
| - MediaGalleryPrefInfo gallery;
|
| - gallery.pref_id = 1;
|
| - gallery.device_id = StorageInfo::MakeDeviceId(
|
| - StorageInfo::FIXED_MASS_STORAGE, "/path/to/gallery");
|
| - gallery.type = MediaGalleryPrefInfo::kAutoDetected;
|
| - std::string galleryName("/path/to/gallery");
|
| -#if defined(OS_CHROMEOS)
|
| - galleryName = "gallery";
|
| -#endif
|
| - EXPECT_EQ(galleryName, GalleryName(gallery));
|
| -
|
| - gallery.display_name = base::ASCIIToUTF16("override");
|
| - EXPECT_EQ("override", GalleryName(gallery));
|
| -
|
| - gallery.display_name = base::string16();
|
| - gallery.volume_label = base::ASCIIToUTF16("label");
|
| - EXPECT_EQ(galleryName, GalleryName(gallery));
|
| -
|
| - gallery.path = base::FilePath(FILE_PATH_LITERAL("sub/gallery2"));
|
| - galleryName = "/path/to/gallery/sub/gallery2";
|
| -#if defined(OS_CHROMEOS)
|
| - galleryName = "gallery2";
|
| -#endif
|
| -#if defined(OS_WIN)
|
| - galleryName = base::FilePath(FILE_PATH_LITERAL("/path/to/gallery"))
|
| - .Append(gallery.path).MaybeAsASCII();
|
| -#endif
|
| - EXPECT_EQ(galleryName, GalleryName(gallery));
|
| -
|
| - gallery.path = base::FilePath();
|
| - gallery.device_id = StorageInfo::MakeDeviceId(
|
| - StorageInfo::REMOVABLE_MASS_STORAGE_WITH_DCIM,
|
| - "/path/to/dcim");
|
| - gallery.display_name = base::ASCIIToUTF16("override");
|
| - EXPECT_EQ("override", GalleryName(gallery));
|
| -
|
| - gallery.volume_label = base::ASCIIToUTF16("volume");
|
| - gallery.vendor_name = base::ASCIIToUTF16("vendor");
|
| - gallery.model_name = base::ASCIIToUTF16("model");
|
| - EXPECT_EQ("override", GalleryName(gallery));
|
| -
|
| - gallery.display_name = base::string16();
|
| - EXPECT_EQ("volume", GalleryName(gallery));
|
| -
|
| - gallery.volume_label = base::string16();
|
| - EXPECT_EQ("vendor, model", GalleryName(gallery));
|
| -
|
| - gallery.total_size_in_bytes = 1000000;
|
| - EXPECT_EQ("977 KB vendor, model", GalleryName(gallery));
|
| -
|
| - gallery.path = base::FilePath(FILE_PATH_LITERAL("sub/path"));
|
| - EXPECT_EQ("path - 977 KB vendor, model", GalleryName(gallery));
|
| -}
|
|
|