Home | History | Annotate | Download | only in integration
      1 // Copyright (c) 2012 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_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
      6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
      7 
      8 #include "base/files/file_path.h"
      9 #include "base/values.h"
     10 
     11 #include <string>
     12 
     13 class PrefService;
     14 
     15 namespace preferences_helper {
     16 
     17 // Used to access the preferences within a particular sync profile.
     18 PrefService* GetPrefs(int index);
     19 
     20 // Used to access the preferences within the verifier sync profile.
     21 PrefService* GetVerifierPrefs();
     22 
     23 // Inverts the value of the boolean preference with name |pref_name| in the
     24 // profile with index |index|. Also inverts its value in |verifier| if
     25 // DisableVerifier() hasn't been called.
     26 void ChangeBooleanPref(int index, const char* pref_name);
     27 
     28 // Changes the value of the integer preference with name |pref_name| in the
     29 // profile with index |index| to |new_value|. Also changes its value in
     30 // |verifier| if DisableVerifier() hasn't been called.
     31 void ChangeIntegerPref(int index, const char* pref_name, int new_value);
     32 
     33 // Changes the value of the int64 preference with name |pref_name| in the
     34 // profile with index |index| to |new_value|. Also changes its value in
     35 // |verifier| if DisableVerifier() hasn't been called.
     36 void ChangeInt64Pref(int index, const char* pref_name, int64 new_value);
     37 
     38 // Changes the value of the double preference with name |pref_name| in the
     39 // profile with index |index| to |new_value|. Also changes its value in
     40 // |verifier| if DisableVerifier() hasn't been called.
     41 void ChangeDoublePref(int index, const char* pref_name, double new_value);
     42 
     43 // Changes the value of the string preference with name |pref_name| in the
     44 // profile with index |index| to |new_value|. Also changes its value in
     45 // |verifier| if DisableVerifier() hasn't been called.
     46 void ChangeStringPref(int index,
     47                       const char* pref_name,
     48                       const std::string& new_value);
     49 
     50 // Modifies the value of the string preference with name |pref_name| in the
     51 // profile with index |index| by appending |append_value| to its current
     52 // value. Also changes its value in |verifier| if DisableVerifier() hasn't
     53 // been called.
     54 void AppendStringPref(int index,
     55                       const char* pref_name,
     56                       const std::string& append_value);
     57 
     58 // Changes the value of the file path preference with name |pref_name| in the
     59 // profile with index |index| to |new_value|. Also changes its value in
     60 // |verifier| if DisableVerifier() hasn't been called.
     61 void ChangeFilePathPref(int index,
     62                         const char* pref_name,
     63                         const base::FilePath& new_value);
     64 
     65 // Changes the value of the list preference with name |pref_name| in the
     66 // profile with index |index| to |new_value|. Also changes its value in
     67 // |verifier| if DisableVerifier() hasn't been called.
     68 void ChangeListPref(int index,
     69                     const char* pref_name,
     70                     const base::ListValue& new_value);
     71 
     72 // Used to verify that the boolean preference with name |pref_name| has the
     73 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     74 // hasn't been called.
     75 bool BooleanPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     76 
     77 // Used to verify that the integer preference with name |pref_name| has the
     78 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     79 // hasn't been called.
     80 bool IntegerPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     81 
     82 // Used to verify that the int64 preference with name |pref_name| has the
     83 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     84 // hasn't been called.
     85 bool Int64PrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     86 
     87 // Used to verify that the double preference with name |pref_name| has the
     88 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     89 // hasn't been called.
     90 bool DoublePrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     91 
     92 // Used to verify that the string preference with name |pref_name| has the
     93 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     94 // hasn't been called.
     95 bool StringPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     96 
     97 // Used to verify that the file path preference with name |pref_name| has the
     98 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     99 // hasn't been called.
    100 bool FilePathPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    101 
    102 // Used to verify that the list preference with name |pref_name| has the
    103 // same value across all profiles. Also checks |verifier| if DisableVerifier()
    104 // hasn't been called.
    105 bool ListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    106 
    107 // This is the version of ListPrefMatches that waits for the preference list
    108 // to match in all profiles. Returns false if this operation times out.
    109 bool AwaitListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    110 
    111 }  // namespace preferences_helper
    112 
    113 #endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
    114