Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: chrome/browser/chromeos/file_system_provider/registry_unittest.cc

Issue 674413002: [fsp] Rename ObserveEntry with AddWatcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/chromeos/file_system_provider/registry.h" 5 #include "chrome/browser/chromeos/file_system_provider/registry.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 18 matching lines...) Expand all
29 "chrome-extension://efgefgefgefgefgefgefgefgefgefgefgefge/"; 29 "chrome-extension://efgefgefgefgefgefgefgefgefgefgefgefge/";
30 const char kExtensionId[] = "mbflcebpggnecokmikipoihdbecnjfoj"; 30 const char kExtensionId[] = "mbflcebpggnecokmikipoihdbecnjfoj";
31 const char kDisplayName[] = "Camera Pictures"; 31 const char kDisplayName[] = "Camera Pictures";
32 32
33 // The dot in the file system ID is there in order to check that saving to 33 // The dot in the file system ID is there in order to check that saving to
34 // preferences works correctly. File System ID is used as a key in 34 // preferences works correctly. File System ID is used as a key in
35 // a base::DictionaryValue, so it has to be stored without path expansion. 35 // a base::DictionaryValue, so it has to be stored without path expansion.
36 const char kFileSystemId[] = "camera/pictures/id .!@#$%^&*()_+"; 36 const char kFileSystemId[] = "camera/pictures/id .!@#$%^&*()_+";
37 37
38 // Stores a provided file system information in preferences together with a 38 // Stores a provided file system information in preferences together with a
39 // fake observed entry. 39 // fake watcher.
40 void RememberFakeFileSystem(TestingProfile* profile, 40 void RememberFakeFileSystem(TestingProfile* profile,
41 const std::string& extension_id, 41 const std::string& extension_id,
42 const std::string& file_system_id, 42 const std::string& file_system_id,
43 const std::string& display_name, 43 const std::string& display_name,
44 bool writable, 44 bool writable,
45 bool supports_notify_tag, 45 bool supports_notify_tag,
46 const ObservedEntry& observed_entry) { 46 const Watcher& watcher) {
47 // Warning. Updating this code means that backward compatibility may be 47 // Warning. Updating this code means that backward compatibility may be
48 // broken, what is unexpected and should be avoided. 48 // broken, what is unexpected and should be avoided.
49 TestingPrefServiceSyncable* const pref_service = 49 TestingPrefServiceSyncable* const pref_service =
50 profile->GetTestingPrefService(); 50 profile->GetTestingPrefService();
51 ASSERT_TRUE(pref_service); 51 ASSERT_TRUE(pref_service);
52 52
53 base::DictionaryValue extensions; 53 base::DictionaryValue extensions;
54 base::DictionaryValue* const file_systems = new base::DictionaryValue(); 54 base::DictionaryValue* const file_systems = new base::DictionaryValue();
55 base::DictionaryValue* const file_system = new base::DictionaryValue(); 55 base::DictionaryValue* const file_system = new base::DictionaryValue();
56 file_system->SetStringWithoutPathExpansion(kPrefKeyFileSystemId, 56 file_system->SetStringWithoutPathExpansion(kPrefKeyFileSystemId,
57 kFileSystemId); 57 kFileSystemId);
58 file_system->SetStringWithoutPathExpansion(kPrefKeyDisplayName, kDisplayName); 58 file_system->SetStringWithoutPathExpansion(kPrefKeyDisplayName, kDisplayName);
59 file_system->SetBooleanWithoutPathExpansion(kPrefKeyWritable, writable); 59 file_system->SetBooleanWithoutPathExpansion(kPrefKeyWritable, writable);
60 file_system->SetBooleanWithoutPathExpansion(kPrefKeySupportsNotifyTag, 60 file_system->SetBooleanWithoutPathExpansion(kPrefKeySupportsNotifyTag,
61 supports_notify_tag); 61 supports_notify_tag);
62 file_systems->SetWithoutPathExpansion(kFileSystemId, file_system); 62 file_systems->SetWithoutPathExpansion(kFileSystemId, file_system);
63 extensions.SetWithoutPathExpansion(kExtensionId, file_systems); 63 extensions.SetWithoutPathExpansion(kExtensionId, file_systems);
64 64
65 // Remember observed entries. 65 // Remember watchers.
66 base::DictionaryValue* const observed_entries = new base::DictionaryValue(); 66 base::DictionaryValue* const watchers = new base::DictionaryValue();
67 file_system->SetWithoutPathExpansion(kPrefKeyObservedEntries, 67 file_system->SetWithoutPathExpansion(kPrefKeyWatchers, watchers);
68 observed_entries); 68 base::DictionaryValue* const watcher_value = new base::DictionaryValue();
69 base::DictionaryValue* const observed_entry_value = 69 watchers->SetWithoutPathExpansion(watcher.entry_path.value(), watcher_value);
70 new base::DictionaryValue(); 70 watcher_value->SetStringWithoutPathExpansion(kPrefKeyWatcherEntryPath,
71 observed_entries->SetWithoutPathExpansion(observed_entry.entry_path.value(), 71 watcher.entry_path.value());
72 observed_entry_value); 72 watcher_value->SetBooleanWithoutPathExpansion(kPrefKeyWatcherRecursive,
73 observed_entry_value->SetStringWithoutPathExpansion( 73 watcher.recursive);
74 kPrefKeyObservedEntryEntryPath, observed_entry.entry_path.value()); 74 watcher_value->SetStringWithoutPathExpansion(kPrefKeyWatcherLastTag,
75 observed_entry_value->SetBooleanWithoutPathExpansion( 75 watcher.last_tag);
76 kPrefKeyObservedEntryRecursive, observed_entry.recursive);
77 observed_entry_value->SetStringWithoutPathExpansion(
78 kPrefKeyObservedEntryLastTag, observed_entry.last_tag);
79 base::ListValue* const persistent_origins_value = new base::ListValue(); 76 base::ListValue* const persistent_origins_value = new base::ListValue();
80 observed_entry_value->SetWithoutPathExpansion( 77 watcher_value->SetWithoutPathExpansion(kPrefKeyWatcherPersistentOrigins,
81 kPrefKeyObservedEntryPersistentOrigins, persistent_origins_value); 78 persistent_origins_value);
82 for (const auto& subscriber_it : observed_entry.subscribers) { 79 for (const auto& subscriber_it : watcher.subscribers) {
83 if (subscriber_it.second.persistent) 80 if (subscriber_it.second.persistent)
84 persistent_origins_value->AppendString(subscriber_it.first.spec()); 81 persistent_origins_value->AppendString(subscriber_it.first.spec());
85 } 82 }
86 83
87 pref_service->Set(prefs::kFileSystemProviderMounted, extensions); 84 pref_service->Set(prefs::kFileSystemProviderMounted, extensions);
88 } 85 }
89 86
90 } // namespace 87 } // namespace
91 88
92 class FileSystemProviderRegistryTest : public testing::Test { 89 class FileSystemProviderRegistryTest : public testing::Test {
93 protected: 90 protected:
94 FileSystemProviderRegistryTest() : profile_(NULL) {} 91 FileSystemProviderRegistryTest() : profile_(NULL) {}
95 92
96 virtual ~FileSystemProviderRegistryTest() {} 93 virtual ~FileSystemProviderRegistryTest() {}
97 94
98 virtual void SetUp() override { 95 virtual void SetUp() override {
99 profile_manager_.reset( 96 profile_manager_.reset(
100 new TestingProfileManager(TestingBrowserProcess::GetGlobal())); 97 new TestingProfileManager(TestingBrowserProcess::GetGlobal()));
101 ASSERT_TRUE(profile_manager_->SetUp()); 98 ASSERT_TRUE(profile_manager_->SetUp());
102 profile_ = profile_manager_->CreateTestingProfile("test-user@example.com"); 99 profile_ = profile_manager_->CreateTestingProfile("test-user@example.com");
103 registry_.reset(new Registry(profile_)); 100 registry_.reset(new Registry(profile_));
104 fake_observed_entry_.entry_path = 101 fake_watcher_.entry_path = base::FilePath(FILE_PATH_LITERAL("/a/b/c"));
105 base::FilePath(FILE_PATH_LITERAL("/a/b/c")); 102 fake_watcher_.recursive = true;
106 fake_observed_entry_.recursive = true; 103 fake_watcher_.subscribers[GURL(kTemporaryOrigin)].origin =
107 fake_observed_entry_.subscribers[GURL(kTemporaryOrigin)].origin =
108 GURL(kTemporaryOrigin); 104 GURL(kTemporaryOrigin);
109 fake_observed_entry_.subscribers[GURL(kTemporaryOrigin)].persistent = false; 105 fake_watcher_.subscribers[GURL(kTemporaryOrigin)].persistent = false;
110 fake_observed_entry_.subscribers[GURL(kPersistentOrigin)].origin = 106 fake_watcher_.subscribers[GURL(kPersistentOrigin)].origin =
111 GURL(kPersistentOrigin); 107 GURL(kPersistentOrigin);
112 fake_observed_entry_.subscribers[GURL(kPersistentOrigin)].persistent = true; 108 fake_watcher_.subscribers[GURL(kPersistentOrigin)].persistent = true;
113 fake_observed_entry_.last_tag = "hello-world"; 109 fake_watcher_.last_tag = "hello-world";
114 } 110 }
115 111
116 content::TestBrowserThreadBundle thread_bundle_; 112 content::TestBrowserThreadBundle thread_bundle_;
117 scoped_ptr<TestingProfileManager> profile_manager_; 113 scoped_ptr<TestingProfileManager> profile_manager_;
118 TestingProfile* profile_; 114 TestingProfile* profile_;
119 scoped_ptr<RegistryInterface> registry_; 115 scoped_ptr<RegistryInterface> registry_;
120 ObservedEntry fake_observed_entry_; 116 Watcher fake_watcher_;
121 }; 117 };
122 118
123 TEST_F(FileSystemProviderRegistryTest, RestoreFileSystems) { 119 TEST_F(FileSystemProviderRegistryTest, RestoreFileSystems) {
124 // Create a fake entry in the preferences. 120 // Create a fake entry in the preferences.
125 RememberFakeFileSystem(profile_, 121 RememberFakeFileSystem(profile_,
126 kExtensionId, 122 kExtensionId,
127 kFileSystemId, 123 kFileSystemId,
128 kDisplayName, 124 kDisplayName,
129 true /* writable */, 125 true /* writable */,
130 true /* supports_notify_tag */, 126 true /* supports_notify_tag */,
131 fake_observed_entry_); 127 fake_watcher_);
132 128
133 scoped_ptr<RegistryInterface::RestoredFileSystems> restored_file_systems = 129 scoped_ptr<RegistryInterface::RestoredFileSystems> restored_file_systems =
134 registry_->RestoreFileSystems(kExtensionId); 130 registry_->RestoreFileSystems(kExtensionId);
135 131
136 ASSERT_EQ(1u, restored_file_systems->size()); 132 ASSERT_EQ(1u, restored_file_systems->size());
137 const RegistryInterface::RestoredFileSystem& restored_file_system = 133 const RegistryInterface::RestoredFileSystem& restored_file_system =
138 restored_file_systems->at(0); 134 restored_file_systems->at(0);
139 EXPECT_EQ(kExtensionId, restored_file_system.extension_id); 135 EXPECT_EQ(kExtensionId, restored_file_system.extension_id);
140 EXPECT_EQ(kFileSystemId, restored_file_system.options.file_system_id); 136 EXPECT_EQ(kFileSystemId, restored_file_system.options.file_system_id);
141 EXPECT_EQ(kDisplayName, restored_file_system.options.display_name); 137 EXPECT_EQ(kDisplayName, restored_file_system.options.display_name);
142 EXPECT_TRUE(restored_file_system.options.writable); 138 EXPECT_TRUE(restored_file_system.options.writable);
143 EXPECT_TRUE(restored_file_system.options.supports_notify_tag); 139 EXPECT_TRUE(restored_file_system.options.supports_notify_tag);
144 140
145 ASSERT_EQ(1u, restored_file_system.observed_entries.size()); 141 ASSERT_EQ(1u, restored_file_system.watchers.size());
146 const auto& restored_observed_entry_it = 142 const auto& restored_watcher_it = restored_file_system.watchers.find(
147 restored_file_system.observed_entries.find(ObservedEntryKey( 143 WatcherKey(fake_watcher_.entry_path, fake_watcher_.recursive));
148 fake_observed_entry_.entry_path, fake_observed_entry_.recursive)); 144 ASSERT_NE(restored_file_system.watchers.end(), restored_watcher_it);
149 ASSERT_NE(restored_file_system.observed_entries.end(),
150 restored_observed_entry_it);
151 145
152 EXPECT_EQ(fake_observed_entry_.entry_path, 146 EXPECT_EQ(fake_watcher_.entry_path, restored_watcher_it->second.entry_path);
153 restored_observed_entry_it->second.entry_path); 147 EXPECT_EQ(fake_watcher_.recursive, restored_watcher_it->second.recursive);
154 EXPECT_EQ(fake_observed_entry_.recursive, 148 EXPECT_EQ(fake_watcher_.last_tag, restored_watcher_it->second.last_tag);
155 restored_observed_entry_it->second.recursive);
156 EXPECT_EQ(fake_observed_entry_.last_tag,
157 restored_observed_entry_it->second.last_tag);
158 } 149 }
159 150
160 TEST_F(FileSystemProviderRegistryTest, RememberFileSystem) { 151 TEST_F(FileSystemProviderRegistryTest, RememberFileSystem) {
161 MountOptions options(kFileSystemId, kDisplayName); 152 MountOptions options(kFileSystemId, kDisplayName);
162 options.writable = true; 153 options.writable = true;
163 options.supports_notify_tag = true; 154 options.supports_notify_tag = true;
164 155
165 ProvidedFileSystemInfo file_system_info( 156 ProvidedFileSystemInfo file_system_info(
166 kExtensionId, options, base::FilePath(FILE_PATH_LITERAL("/a/b/c"))); 157 kExtensionId, options, base::FilePath(FILE_PATH_LITERAL("/a/b/c")));
167 158
168 ObservedEntries observed_entries; 159 Watchers watchers;
169 observed_entries[ObservedEntryKey(fake_observed_entry_.entry_path, 160 watchers[WatcherKey(fake_watcher_.entry_path, fake_watcher_.recursive)] =
170 fake_observed_entry_.recursive)] = 161 fake_watcher_;
171 fake_observed_entry_;
172 162
173 registry_->RememberFileSystem(file_system_info, observed_entries); 163 registry_->RememberFileSystem(file_system_info, watchers);
174 164
175 TestingPrefServiceSyncable* const pref_service = 165 TestingPrefServiceSyncable* const pref_service =
176 profile_->GetTestingPrefService(); 166 profile_->GetTestingPrefService();
177 ASSERT_TRUE(pref_service); 167 ASSERT_TRUE(pref_service);
178 168
179 const base::DictionaryValue* const extensions = 169 const base::DictionaryValue* const extensions =
180 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); 170 pref_service->GetDictionary(prefs::kFileSystemProviderMounted);
181 ASSERT_TRUE(extensions); 171 ASSERT_TRUE(extensions);
182 172
183 const base::DictionaryValue* file_systems = NULL; 173 const base::DictionaryValue* file_systems = NULL;
(...skipping 20 matching lines...) Expand all
204 bool writable = false; 194 bool writable = false;
205 EXPECT_TRUE( 195 EXPECT_TRUE(
206 file_system->GetBooleanWithoutPathExpansion(kPrefKeyWritable, &writable)); 196 file_system->GetBooleanWithoutPathExpansion(kPrefKeyWritable, &writable));
207 EXPECT_TRUE(writable); 197 EXPECT_TRUE(writable);
208 198
209 bool supports_notify_tag = false; 199 bool supports_notify_tag = false;
210 EXPECT_TRUE(file_system->GetBooleanWithoutPathExpansion( 200 EXPECT_TRUE(file_system->GetBooleanWithoutPathExpansion(
211 kPrefKeySupportsNotifyTag, &supports_notify_tag)); 201 kPrefKeySupportsNotifyTag, &supports_notify_tag));
212 EXPECT_TRUE(supports_notify_tag); 202 EXPECT_TRUE(supports_notify_tag);
213 203
214 const base::DictionaryValue* observed_entries_value = NULL; 204 const base::DictionaryValue* watchers_value = NULL;
215 ASSERT_TRUE(file_system->GetDictionaryWithoutPathExpansion( 205 ASSERT_TRUE(file_system->GetDictionaryWithoutPathExpansion(kPrefKeyWatchers,
216 kPrefKeyObservedEntries, &observed_entries_value)); 206 &watchers_value));
217 207
218 const base::DictionaryValue* observed_entry = NULL; 208 const base::DictionaryValue* watcher = NULL;
219 ASSERT_TRUE(observed_entries_value->GetDictionaryWithoutPathExpansion( 209 ASSERT_TRUE(watchers_value->GetDictionaryWithoutPathExpansion(
220 fake_observed_entry_.entry_path.value(), &observed_entry)); 210 fake_watcher_.entry_path.value(), &watcher));
221 211
222 std::string entry_path; 212 std::string entry_path;
223 EXPECT_TRUE(observed_entry->GetStringWithoutPathExpansion( 213 EXPECT_TRUE(watcher->GetStringWithoutPathExpansion(kPrefKeyWatcherEntryPath,
224 kPrefKeyObservedEntryEntryPath, &entry_path)); 214 &entry_path));
225 EXPECT_EQ(fake_observed_entry_.entry_path.value(), entry_path); 215 EXPECT_EQ(fake_watcher_.entry_path.value(), entry_path);
226 216
227 bool recursive = false; 217 bool recursive = false;
228 EXPECT_TRUE(observed_entry->GetBooleanWithoutPathExpansion( 218 EXPECT_TRUE(watcher->GetBooleanWithoutPathExpansion(kPrefKeyWatcherRecursive,
229 kPrefKeyObservedEntryRecursive, &recursive)); 219 &recursive));
230 EXPECT_EQ(fake_observed_entry_.recursive, recursive); 220 EXPECT_EQ(fake_watcher_.recursive, recursive);
231 221
232 std::string last_tag; 222 std::string last_tag;
233 EXPECT_TRUE(observed_entry->GetStringWithoutPathExpansion( 223 EXPECT_TRUE(watcher->GetStringWithoutPathExpansion(kPrefKeyWatcherLastTag,
234 kPrefKeyObservedEntryLastTag, &last_tag)); 224 &last_tag));
235 EXPECT_EQ(fake_observed_entry_.last_tag, last_tag); 225 EXPECT_EQ(fake_watcher_.last_tag, last_tag);
236 226
237 const base::ListValue* persistent_origins = NULL; 227 const base::ListValue* persistent_origins = NULL;
238 ASSERT_TRUE(observed_entry->GetListWithoutPathExpansion( 228 ASSERT_TRUE(watcher->GetListWithoutPathExpansion(
239 kPrefKeyObservedEntryPersistentOrigins, &persistent_origins)); 229 kPrefKeyWatcherPersistentOrigins, &persistent_origins));
240 ASSERT_GT(fake_observed_entry_.subscribers.size(), 230 ASSERT_GT(fake_watcher_.subscribers.size(), persistent_origins->GetSize());
241 persistent_origins->GetSize());
242 ASSERT_EQ(1u, persistent_origins->GetSize()); 231 ASSERT_EQ(1u, persistent_origins->GetSize());
243 std::string persistent_origin; 232 std::string persistent_origin;
244 EXPECT_TRUE(persistent_origins->GetString(0, &persistent_origin)); 233 EXPECT_TRUE(persistent_origins->GetString(0, &persistent_origin));
245 const auto& fake_subscriber_it = 234 const auto& fake_subscriber_it =
246 fake_observed_entry_.subscribers.find(GURL(persistent_origin)); 235 fake_watcher_.subscribers.find(GURL(persistent_origin));
247 ASSERT_NE(fake_observed_entry_.subscribers.end(), fake_subscriber_it); 236 ASSERT_NE(fake_watcher_.subscribers.end(), fake_subscriber_it);
248 EXPECT_TRUE(fake_subscriber_it->second.persistent); 237 EXPECT_TRUE(fake_subscriber_it->second.persistent);
249 } 238 }
250 239
251 TEST_F(FileSystemProviderRegistryTest, ForgetFileSystem) { 240 TEST_F(FileSystemProviderRegistryTest, ForgetFileSystem) {
252 // Create a fake file systems in the preferences. 241 // Create a fake file systems in the preferences.
253 RememberFakeFileSystem(profile_, 242 RememberFakeFileSystem(profile_,
254 kExtensionId, 243 kExtensionId,
255 kFileSystemId, 244 kFileSystemId,
256 kDisplayName, 245 kDisplayName,
257 true /* writable */, 246 true /* writable */,
258 true /* supports_notify_tag */, 247 true /* supports_notify_tag */,
259 fake_observed_entry_); 248 fake_watcher_);
260 249
261 registry_->ForgetFileSystem(kExtensionId, kFileSystemId); 250 registry_->ForgetFileSystem(kExtensionId, kFileSystemId);
262 251
263 TestingPrefServiceSyncable* const pref_service = 252 TestingPrefServiceSyncable* const pref_service =
264 profile_->GetTestingPrefService(); 253 profile_->GetTestingPrefService();
265 ASSERT_TRUE(pref_service); 254 ASSERT_TRUE(pref_service);
266 255
267 const base::DictionaryValue* const extensions = 256 const base::DictionaryValue* const extensions =
268 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); 257 pref_service->GetDictionary(prefs::kFileSystemProviderMounted);
269 ASSERT_TRUE(extensions); 258 ASSERT_TRUE(extensions);
270 259
271 const base::DictionaryValue* file_systems = NULL; 260 const base::DictionaryValue* file_systems = NULL;
272 EXPECT_FALSE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId, 261 EXPECT_FALSE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId,
273 &file_systems)); 262 &file_systems));
274 } 263 }
275 264
276 TEST_F(FileSystemProviderRegistryTest, UpdateObservedEntryTag) { 265 TEST_F(FileSystemProviderRegistryTest, UpdateWatcherTag) {
277 MountOptions options(kFileSystemId, kDisplayName); 266 MountOptions options(kFileSystemId, kDisplayName);
278 options.writable = true; 267 options.writable = true;
279 options.supports_notify_tag = true; 268 options.supports_notify_tag = true;
280 269
281 ProvidedFileSystemInfo file_system_info( 270 ProvidedFileSystemInfo file_system_info(
282 kExtensionId, options, base::FilePath(FILE_PATH_LITERAL("/a/b/c"))); 271 kExtensionId, options, base::FilePath(FILE_PATH_LITERAL("/a/b/c")));
283 272
284 ObservedEntries observed_entries; 273 Watchers watchers;
285 observed_entries[ObservedEntryKey(fake_observed_entry_.entry_path, 274 watchers[WatcherKey(fake_watcher_.entry_path, fake_watcher_.recursive)] =
286 fake_observed_entry_.recursive)] = 275 fake_watcher_;
287 fake_observed_entry_;
288 276
289 registry_->RememberFileSystem(file_system_info, observed_entries); 277 registry_->RememberFileSystem(file_system_info, watchers);
290 278
291 fake_observed_entry_.last_tag = "updated-tag"; 279 fake_watcher_.last_tag = "updated-tag";
292 registry_->UpdateObservedEntryTag(file_system_info, fake_observed_entry_); 280 registry_->UpdateWatcherTag(file_system_info, fake_watcher_);
293 281
294 TestingPrefServiceSyncable* const pref_service = 282 TestingPrefServiceSyncable* const pref_service =
295 profile_->GetTestingPrefService(); 283 profile_->GetTestingPrefService();
296 ASSERT_TRUE(pref_service); 284 ASSERT_TRUE(pref_service);
297 285
298 const base::DictionaryValue* const extensions = 286 const base::DictionaryValue* const extensions =
299 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); 287 pref_service->GetDictionary(prefs::kFileSystemProviderMounted);
300 ASSERT_TRUE(extensions); 288 ASSERT_TRUE(extensions);
301 289
302 const base::DictionaryValue* file_systems = NULL; 290 const base::DictionaryValue* file_systems = NULL;
303 ASSERT_TRUE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId, 291 ASSERT_TRUE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId,
304 &file_systems)); 292 &file_systems));
305 EXPECT_EQ(1u, file_systems->size()); 293 EXPECT_EQ(1u, file_systems->size());
306 294
307 const base::Value* file_system_value = NULL; 295 const base::Value* file_system_value = NULL;
308 const base::DictionaryValue* file_system = NULL; 296 const base::DictionaryValue* file_system = NULL;
309 ASSERT_TRUE( 297 ASSERT_TRUE(
310 file_systems->GetWithoutPathExpansion(kFileSystemId, &file_system_value)); 298 file_systems->GetWithoutPathExpansion(kFileSystemId, &file_system_value));
311 ASSERT_TRUE(file_system_value->GetAsDictionary(&file_system)); 299 ASSERT_TRUE(file_system_value->GetAsDictionary(&file_system));
312 300
313 const base::DictionaryValue* observed_entries_value = NULL; 301 const base::DictionaryValue* watchers_value = NULL;
314 ASSERT_TRUE(file_system->GetDictionaryWithoutPathExpansion( 302 ASSERT_TRUE(file_system->GetDictionaryWithoutPathExpansion(kPrefKeyWatchers,
315 kPrefKeyObservedEntries, &observed_entries_value)); 303 &watchers_value));
316 304
317 const base::DictionaryValue* observed_entry = NULL; 305 const base::DictionaryValue* watcher = NULL;
318 ASSERT_TRUE(observed_entries_value->GetDictionaryWithoutPathExpansion( 306 ASSERT_TRUE(watchers_value->GetDictionaryWithoutPathExpansion(
319 fake_observed_entry_.entry_path.value(), &observed_entry)); 307 fake_watcher_.entry_path.value(), &watcher));
320 308
321 std::string last_tag; 309 std::string last_tag;
322 EXPECT_TRUE(observed_entry->GetStringWithoutPathExpansion( 310 EXPECT_TRUE(watcher->GetStringWithoutPathExpansion(kPrefKeyWatcherLastTag,
323 kPrefKeyObservedEntryLastTag, &last_tag)); 311 &last_tag));
324 EXPECT_EQ(fake_observed_entry_.last_tag, last_tag); 312 EXPECT_EQ(fake_watcher_.last_tag, last_tag);
325 } 313 }
326 314
327 } // namespace file_system_provider 315 } // namespace file_system_provider
328 } // namespace chromeos 316 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698