// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_
#define CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_
#pragma once
#include "base/mac/scoped_cftyperef.h"
#include "chrome/browser/preferences_mac.h"
// Mock preferences wrapper for testing code that interacts with CFPreferences.
class MockPreferences : public MacPreferences {
public:
MockPreferences();
virtual ~MockPreferences();
virtual Boolean AppSynchronize(CFStringRef applicationID);
virtual CFPropertyListRef CopyAppValue(CFStringRef key,
CFStringRef applicationID);
virtual Boolean AppValueIsForced(CFStringRef key, CFStringRef applicationID);
// Adds a preference item with the given info to the test set.
void AddTestItem(CFStringRef key, CFPropertyListRef value, bool is_forced);
private:
base::mac::ScopedCFTypeRef<CFMutableDictionaryRef> values_;
base::mac::ScopedCFTypeRef<CFMutableSetRef> forced_;
};
#endif // CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_