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