preferences_mock_mac.h revision 3345a6884c488ff3a535c2c9acdd33d74b37e311
1// Copyright (c) 2010 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_PREFERENCES_MOCK_MAC_H_ 6#define CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_ 7#pragma once 8 9#include "base/scoped_cftyperef.h" 10#include "chrome/browser/preferences_mac.h" 11 12// Mock preferences wrapper for testing code that interacts with CFPreferences. 13class MockPreferences : public MacPreferences { 14 public: 15 MockPreferences(); 16 virtual ~MockPreferences(); 17 18 virtual CFPropertyListRef CopyAppValue(CFStringRef key, 19 CFStringRef applicationID); 20 21 virtual Boolean AppValueIsForced(CFStringRef key, CFStringRef applicationID); 22 23 // Adds a preference item with the given info to the test set. 24 void AddTestItem(CFStringRef key, CFPropertyListRef value, bool is_forced); 25 26 private: 27 scoped_cftyperef<CFMutableDictionaryRef> values_; 28 scoped_cftyperef<CFMutableSetRef> forced_; 29}; 30 31#endif // CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_ 32