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 "chrome/browser/media_galleries/media_galleries_test_util.h" | 5 #include "chrome/browser/media_galleries/media_galleries_test_util.h" |
6 | 6 |
7 #include "base/base_paths.h" | 7 #include "base/base_paths.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
11 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
12 #include "chrome/browser/extensions/extension_prefs.h" | 12 #include "chrome/browser/extensions/extension_prefs.h" |
13 #include "chrome/browser/extensions/extension_service.h" | 13 #include "chrome/browser/extensions/extension_service.h" |
14 #include "chrome/browser/extensions/extension_system.h" | 14 #include "chrome/browser/extensions/extension_system.h" |
15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
16 #include "chrome/common/chrome_paths.h" | 16 #include "chrome/common/chrome_paths.h" |
17 #include "chrome/common/extensions/extension.h" | 17 #include "chrome/common/extensions/extension.h" |
18 #include "chrome/common/extensions/extension_manifest_constants.h" | 18 #include "chrome/common/extensions/extension_manifest_constants.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
20 | 20 |
| 21 #if defined(OS_MACOSX) |
| 22 #include "base/mac/foundation_util.h" |
| 23 #include "base/mac/scoped_cftyperef.h" |
| 24 #include "chrome/browser/media_galleries/fileapi/itunes_finder_mac.h" |
| 25 #include "chrome/browser/policy/preferences_mock_mac.h" |
| 26 #endif |
| 27 |
21 namespace chrome { | 28 namespace chrome { |
22 | 29 |
23 scoped_refptr<extensions::Extension> AddMediaGalleriesApp( | 30 scoped_refptr<extensions::Extension> AddMediaGalleriesApp( |
24 const std::string& name, | 31 const std::string& name, |
25 const std::vector<std::string>& media_galleries_permissions, | 32 const std::vector<std::string>& media_galleries_permissions, |
26 Profile* profile) { | 33 Profile* profile) { |
27 scoped_ptr<DictionaryValue> manifest(new DictionaryValue); | 34 scoped_ptr<DictionaryValue> manifest(new DictionaryValue); |
28 manifest->SetString(extension_manifest_keys::kName, name); | 35 manifest->SetString(extension_manifest_keys::kName, name); |
29 manifest->SetString(extension_manifest_keys::kVersion, "0.1"); | 36 manifest->SetString(extension_manifest_keys::kVersion, "0.1"); |
30 manifest->SetInteger(extension_manifest_keys::kManifestVersion, 2); | 37 manifest->SetInteger(extension_manifest_keys::kManifestVersion, 2); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 75 |
69 return extension; | 76 return extension; |
70 } | 77 } |
71 | 78 |
72 EnsureMediaDirectoriesExists::EnsureMediaDirectoriesExists() | 79 EnsureMediaDirectoriesExists::EnsureMediaDirectoriesExists() |
73 : num_galleries_(0) { | 80 : num_galleries_(0) { |
74 Init(); | 81 Init(); |
75 } | 82 } |
76 | 83 |
77 EnsureMediaDirectoriesExists::~EnsureMediaDirectoriesExists() { | 84 EnsureMediaDirectoriesExists::~EnsureMediaDirectoriesExists() { |
| 85 #if defined(OS_MACOSX) |
| 86 // Remove the MockPreferences object that is about to be deleted. |
| 87 itunes::ITunesFinderMac::SetMacPreferencesForTesting(NULL); |
| 88 #endif |
78 } | 89 } |
79 | 90 |
80 void EnsureMediaDirectoriesExists::Init() { | 91 void EnsureMediaDirectoriesExists::Init() { |
81 #if defined(OS_CHROMEOS) || defined(OS_ANDROID) | 92 #if defined(OS_CHROMEOS) || defined(OS_ANDROID) |
82 return; | 93 return; |
83 #else | 94 #else |
84 | 95 |
85 ASSERT_TRUE(fake_dir_.CreateUniqueTempDir()); | 96 ASSERT_TRUE(fake_dir_.CreateUniqueTempDir()); |
86 | 97 |
87 #if defined(OS_WIN) || defined(OS_MACOSX) | 98 #if defined(OS_WIN) |
88 // This is to make sure the tests don't think iTunes is installed (unless | 99 // This is to make sure the tests don't think iTunes is installed (unless |
89 // we control it specifically). | 100 // we control it specifically). |
90 appdir_override_.reset(new base::ScopedPathOverride( | 101 appdir_override_.reset(new base::ScopedPathOverride( |
91 base::DIR_APP_DATA, fake_dir_.path().AppendASCII("itunes"))); | 102 base::DIR_APP_DATA, fake_dir_.path().AppendASCII("itunes"))); |
| 103 #elif defined(OS_MACOSX) |
| 104 mac_preferences_.reset(new MockPreferences); |
| 105 NSString* path = base::mac::FilePathToNSString( |
| 106 fake_dir_.path().AppendASCII("itunes")); |
| 107 CFArrayRef array = CFArrayCreate(NULL, (const void **)(&path), 1, |
| 108 &kCFTypeArrayCallBacks); |
| 109 base::ScopedCFTypeRef<CFString> recent_database_path_key( |
| 110 CFStringCreateWithCStringNoCopy(NULL, |
| 111 itunes::kITunesRecentDatabasePathsKey, |
| 112 kCFStringEncodingASCII, NULL)); |
| 113 mac_preferences_->AddTestItem(recent_database_path_key.get(), array, false); |
| 114 itunes::ITunesFinderMac::SetMacPreferencesForTesting(mac_preferences_.get()); |
92 #endif | 115 #endif |
93 | 116 |
94 music_override_.reset(new base::ScopedPathOverride( | 117 music_override_.reset(new base::ScopedPathOverride( |
95 chrome::DIR_USER_MUSIC, fake_dir_.path().AppendASCII("music"))); | 118 chrome::DIR_USER_MUSIC, fake_dir_.path().AppendASCII("music"))); |
96 pictures_override_.reset(new base::ScopedPathOverride( | 119 pictures_override_.reset(new base::ScopedPathOverride( |
97 chrome::DIR_USER_PICTURES, fake_dir_.path().AppendASCII("pictures"))); | 120 chrome::DIR_USER_PICTURES, fake_dir_.path().AppendASCII("pictures"))); |
98 video_override_.reset(new base::ScopedPathOverride( | 121 video_override_.reset(new base::ScopedPathOverride( |
99 chrome::DIR_USER_VIDEOS, fake_dir_.path().AppendASCII("videos"))); | 122 chrome::DIR_USER_VIDEOS, fake_dir_.path().AppendASCII("videos"))); |
100 num_galleries_ = 3; | 123 num_galleries_ = 3; |
101 #endif | 124 #endif |
102 } | 125 } |
103 | 126 |
104 } // namespace chrome | 127 } // namespace chrome |
OLD | NEW |