| // 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. |
| |
| #include "chrome/browser/preferences_mock_mac.h" |
| |
| MockPreferences::MockPreferences() { |
| values_.reset(CFDictionaryCreateMutable(kCFAllocatorDefault, |
| 0, |
| &kCFTypeDictionaryKeyCallBacks, |
| &kCFTypeDictionaryValueCallBacks)); |
| forced_.reset(CFSetCreateMutable(kCFAllocatorDefault, |
| 0, |
| &kCFTypeSetCallBacks)); |
| } |
| |
| MockPreferences::~MockPreferences() { |
| } |
| |
| Boolean MockPreferences::AppSynchronize(CFStringRef applicationID) { |
| return true; |
| } |
| |
| CFPropertyListRef MockPreferences::CopyAppValue(CFStringRef key, |
| CFStringRef applicationID) { |
| CFPropertyListRef value; |
| Boolean found = CFDictionaryGetValueIfPresent(values_, |
| key, |
| &value); |
| if (!found || !value) |
| return NULL; |
| CFRetain(value); |
| return value; |
| } |
| |
| Boolean MockPreferences::AppValueIsForced(CFStringRef key, |
| CFStringRef applicationID) { |
| return CFSetContainsValue(forced_, key); |
| } |
| |
| void MockPreferences::AddTestItem(CFStringRef key, |
| CFPropertyListRef value, |
| bool is_forced) { |
| CFDictionarySetValue(values_, key, value); |
| if (is_forced) |
| CFSetAddValue(forced_, key); |
| } |