Home | History | Annotate | Download | only in browser
      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 #include "chrome/browser/preferences_mock_mac.h"
      6 
      7 MockPreferences::MockPreferences() {
      8   values_.reset(CFDictionaryCreateMutable(kCFAllocatorDefault,
      9                                           0,
     10                                           &kCFTypeDictionaryKeyCallBacks,
     11                                           &kCFTypeDictionaryValueCallBacks));
     12   forced_.reset(CFSetCreateMutable(kCFAllocatorDefault,
     13                                    0,
     14                                    &kCFTypeSetCallBacks));
     15 }
     16 
     17 MockPreferences::~MockPreferences() {
     18 }
     19 
     20 Boolean MockPreferences::AppSynchronize(CFStringRef applicationID) {
     21   return true;
     22 }
     23 
     24 CFPropertyListRef MockPreferences::CopyAppValue(CFStringRef key,
     25                                                 CFStringRef applicationID) {
     26   CFPropertyListRef value;
     27   Boolean found = CFDictionaryGetValueIfPresent(values_,
     28                                                 key,
     29                                                 &value);
     30   if (!found || !value)
     31     return NULL;
     32   CFRetain(value);
     33   return value;
     34 }
     35 
     36 Boolean MockPreferences::AppValueIsForced(CFStringRef key,
     37                                           CFStringRef applicationID) {
     38   return CFSetContainsValue(forced_, key);
     39 }
     40 
     41 void MockPreferences::AddTestItem(CFStringRef key,
     42                                   CFPropertyListRef value,
     43                                   bool is_forced) {
     44   CFDictionarySetValue(values_, key, value);
     45   if (is_forced)
     46     CFSetAddValue(forced_, key);
     47 }
     48