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