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 // Changes the value of the file path preference with name |pref_name| in the
     51 // profile with index |index| to |new_value|. Also changes its value in
     52 // |verifier| if DisableVerifier() hasn't been called.
     53 void ChangeFilePathPref(int index,
     54                         const char* pref_name,
     55                         const base::FilePath& new_value);
     56 
     57 // Changes the value of the list preference with name |pref_name| in the
     58 // profile with index |index| to |new_value|. Also changes its value in
     59 // |verifier| if DisableVerifier() hasn't been called.
     60 void ChangeListPref(int index,
     61                     const char* pref_name,
     62                     const base::ListValue& new_value);
     63 
     64 // Used to verify that the boolean preference with name |pref_name| has the
     65 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     66 // hasn't been called.
     67 bool BooleanPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     68 
     69 // Used to verify that the integer preference with name |pref_name| has the
     70 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     71 // hasn't been called.
     72 bool IntegerPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     73 
     74 // Used to verify that the int64 preference with name |pref_name| has the
     75 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     76 // hasn't been called.
     77 bool Int64PrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     78 
     79 // Used to verify that the double preference with name |pref_name| has the
     80 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     81 // hasn't been called.
     82 bool DoublePrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     83 
     84 // Used to verify that the string preference with name |pref_name| has the
     85 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     86 // hasn't been called.
     87 bool StringPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     88 
     89 // Used to verify that the file path preference with name |pref_name| has the
     90 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     91 // hasn't been called.
     92 bool FilePathPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     93 
     94 // Used to verify that the list preference with name |pref_name| has the
     95 // same value across all profiles. Also checks |verifier| if DisableVerifier()
     96 // hasn't been called.
     97 bool ListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
     98 
     99 // This is the version of ListPrefMatches that waits for the preference list
    100 // to match in all profiles. Returns false if this operation times out.
    101 bool AwaitListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    102 
    103 // Blocks the test until the specified pref matches on all relevant clients or
    104 // a timeout occurs.  Returns false if it returns because of a timeout.
    105 bool AwaitBooleanPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    106 
    107 // Blocks the test until the specified pref matches on all relevant clients or
    108 // a timeout occurs.  Returns false if it returns because of a timeout.
    109 bool AwaitIntegerPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    110 
    111 // Blocks the test until the specified pref matches on all relevant clients or
    112 // a timeout occurs.  Returns false if it returns because of a timeout.
    113 bool AwaitStringPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
    114 
    115 }  // namespace preferences_helper
    116 
    117 #endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
    118