Index: chrome/browser/media_galleries/media_galleries_test_util.cc |
diff --git a/chrome/browser/media_galleries/media_galleries_test_util.cc b/chrome/browser/media_galleries/media_galleries_test_util.cc |
index 0f01e1e76a18f53177c00b25c3215b3dfe008f79..1b552bb57adfba0f325fc4e2d0b36abc1c6c71f6 100644 |
--- a/chrome/browser/media_galleries/media_galleries_test_util.cc |
+++ b/chrome/browser/media_galleries/media_galleries_test_util.cc |
@@ -18,6 +18,13 @@ |
#include "chrome/common/extensions/extension_manifest_constants.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+#if defined(OS_MACOSX) |
+#include "base/mac/foundation_util.h" |
+#include "base/mac/scoped_cftyperef.h" |
+#include "chrome/browser/media_galleries/fileapi/itunes_finder_mac.h" |
+#include "chrome/browser/policy/preferences_mock_mac.h" |
+#endif |
+ |
namespace chrome { |
scoped_refptr<extensions::Extension> AddMediaGalleriesApp( |
@@ -75,6 +82,10 @@ EnsureMediaDirectoriesExists::EnsureMediaDirectoriesExists() |
} |
EnsureMediaDirectoriesExists::~EnsureMediaDirectoriesExists() { |
+#if defined(OS_MACOSX) |
+ // Remove the MockPreferences object that is about to be deleted. |
+ itunes::ITunesFinderMac::SetMacPreferencesForTesting(NULL); |
+#endif |
} |
void EnsureMediaDirectoriesExists::Init() { |
@@ -84,11 +95,23 @@ void EnsureMediaDirectoriesExists::Init() { |
ASSERT_TRUE(fake_dir_.CreateUniqueTempDir()); |
-#if defined(OS_WIN) || defined(OS_MACOSX) |
+#if defined(OS_WIN) |
// This is to make sure the tests don't think iTunes is installed (unless |
// we control it specifically). |
appdir_override_.reset(new base::ScopedPathOverride( |
base::DIR_APP_DATA, fake_dir_.path().AppendASCII("itunes"))); |
+#elif defined(OS_MACOSX) |
+ mac_preferences_.reset(new MockPreferences); |
+ NSString* path = base::mac::FilePathToNSString( |
+ fake_dir_.path().AppendASCII("itunes")); |
+ CFArrayRef array = CFArrayCreate(NULL, (const void **)(&path), 1, |
+ &kCFTypeArrayCallBacks); |
+ base::ScopedCFTypeRef<CFString> recent_database_path_key( |
+ CFStringCreateWithCStringNoCopy(NULL, |
+ itunes::kITunesRecentDatabasePathsKey, |
+ kCFStringEncodingASCII, NULL)); |
+ mac_preferences_->AddTestItem(recent_database_path_key.get(), array, false); |
+ itunes::ITunesFinderMac::SetMacPreferencesForTesting(mac_preferences_.get()); |
#endif |
music_override_.reset(new base::ScopedPathOverride( |