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 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_ 6 #define CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_ 7 8 #include <list> 9 #include <map> 10 11 #include "base/callback.h" 12 #include "base/compiler_specific.h" 13 #include "chrome/browser/browsing_data/browsing_data_file_system_helper.h" 14 15 // Mock for BrowsingDataFileSystemHelper. 16 // Use AddFileSystemSamples() or add directly to response_ list, then call 17 // Notify(). 18 class MockBrowsingDataFileSystemHelper : public BrowsingDataFileSystemHelper { 19 public: 20 explicit MockBrowsingDataFileSystemHelper(Profile* profile); 21 22 // BrowsingDataFileSystemHelper implementation. 23 virtual void StartFetching(const base::Callback< 24 void(const std::list<FileSystemInfo>&)>& callback) OVERRIDE; 25 virtual void DeleteFileSystemOrigin(const GURL& origin) OVERRIDE; 26 27 // Adds a specific filesystem. 28 void AddFileSystem(const GURL& origin, 29 bool has_persistent, 30 bool has_temporary, 31 bool has_syncable); 32 33 // Adds some FilesystemInfo samples. 34 void AddFileSystemSamples(); 35 36 // Notifies the callback. 37 void Notify(); 38 39 // Marks all filesystems as existing. 40 void Reset(); 41 42 // Returns true if all filesystemss since the last Reset() invocation were 43 // deleted. 44 bool AllDeleted(); 45 46 GURL last_deleted_origin_; 47 48 private: 49 virtual ~MockBrowsingDataFileSystemHelper(); 50 51 base::Callback<void(const std::list<FileSystemInfo>&)> callback_; 52 53 // Stores which filesystems exist. 54 std::map<const std::string, bool> file_systems_; 55 56 std::list<FileSystemInfo> response_; 57 }; 58 59 #endif // CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_ 60