preferences_helper.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/test/integration/preferences_helper.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/values.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/pref_service.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/scoped_user_pref_update.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/profile_sync_service_harness.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/test/integration/sync_test.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sync/test/integration/sync_datatype_helper.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using sync_datatype_helper::test; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace preferences_helper { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PrefService* GetPrefs(int index) { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return test()->GetProfile(index)->GetPrefs(); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PrefService* GetVerifierPrefs() { 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return test()->verifier()->GetPrefs(); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeBooleanPref(int index, const char* pref_name) { 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool new_value = !GetPrefs(index)->GetBoolean(pref_name); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->SetBoolean(pref_name, new_value); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetVerifierPrefs()->SetBoolean(pref_name, new_value); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeIntegerPref(int index, const char* pref_name, int new_value) { 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->SetInteger(pref_name, new_value); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetVerifierPrefs()->SetInteger(pref_name, new_value); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeInt64Pref(int index, const char* pref_name, int64 new_value) { 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->SetInt64(pref_name, new_value); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetVerifierPrefs()->SetInt64(pref_name, new_value); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeDoublePref(int index, const char* pref_name, double new_value) { 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->SetDouble(pref_name, new_value); 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetVerifierPrefs()->SetDouble(pref_name, new_value); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeStringPref(int index, 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* pref_name, 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& new_value) { 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->SetString(pref_name, new_value); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetVerifierPrefs()->SetString(pref_name, new_value); 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void AppendStringPref(int index, 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* pref_name, 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& append_value) { 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ChangeStringPref(index, 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) pref_name, 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->GetString(pref_name) + append_value); 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeFilePathPref(int index, 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* pref_name, 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const FilePath& new_value) { 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetPrefs(index)->SetFilePath(pref_name, new_value); 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetVerifierPrefs()->SetFilePath(pref_name, new_value); 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ChangeListPref(int index, 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const char* pref_name, 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const ListValue& new_value) { 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListPrefUpdate update(GetPrefs(index), pref_name); 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListValue* list = update.Get(); 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (ListValue::const_iterator it = new_value.begin(); 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) it != new_value.end(); 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ++it) { 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) list->Append((*it)->DeepCopy()); 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListPrefUpdate update_verifier(GetVerifierPrefs(), pref_name); 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ListValue* list_verifier = update_verifier.Get(); 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (ListValue::const_iterator it = new_value.begin(); 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) it != new_value.end(); 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ++it) { 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) list_verifier->Append((*it)->DeepCopy()); 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool BooleanPrefMatches(const char* pref_name) { 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool reference_value; 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetBoolean(pref_name); 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetBoolean(pref_name); 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (reference_value != GetPrefs(i)->GetBoolean(pref_name)) { 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "Boolean preference " << pref_name << " mismatched in" 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool IntegerPrefMatches(const char* pref_name) { 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int reference_value; 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetInteger(pref_name); 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetInteger(pref_name); 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (reference_value != GetPrefs(i)->GetInteger(pref_name)) { 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "Integer preference " << pref_name << " mismatched in" 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool Int64PrefMatches(const char* pref_name) { 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int64 reference_value; 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetInt64(pref_name); 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetInt64(pref_name); 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (reference_value != GetPrefs(i)->GetInt64(pref_name)) { 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "Integer preference " << pref_name << " mismatched in" 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool DoublePrefMatches(const char* pref_name) { 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) double reference_value; 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetDouble(pref_name); 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetDouble(pref_name); 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (reference_value != GetPrefs(i)->GetDouble(pref_name)) { 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "Double preference " << pref_name << " mismatched in" 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool StringPrefMatches(const char* pref_name) { 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string reference_value; 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetString(pref_name); 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetString(pref_name); 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (reference_value != GetPrefs(i)->GetString(pref_name)) { 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "String preference " << pref_name << " mismatched in" 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool FilePathPrefMatches(const char* pref_name) { 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FilePath reference_value; 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetFilePath(pref_name); 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetFilePath(pref_name); 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (reference_value != GetPrefs(i)->GetFilePath(pref_name)) { 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "FilePath preference " << pref_name << " mismatched in" 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ListPrefMatches(const char* pref_name) { 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const ListValue* reference_value; 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (test()->use_verifier()) { 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetVerifierPrefs()->GetList(pref_name); 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } else { 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) reference_value = GetPrefs(0)->GetList(pref_name); 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int i = 0; i < test()->num_clients(); ++i) { 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!reference_value->Equals(GetPrefs(i)->GetList(pref_name))) { 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LOG(ERROR) << "List preference " << pref_name << " mismatched in" 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) << " profile " << i << "."; 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace preferences_helper 220