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_SEARCH_ENGINES_HELPER_H_ 6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SEARCH_ENGINES_HELPER_H_ 7 8 #include <map> 9 #include <string> 10 11 #include "base/strings/string16.h" 12 13 class Profile; 14 class TemplateURL; 15 class TemplateURLService; 16 17 typedef std::map<std::string, const TemplateURL*> GUIDToTURLMap; 18 19 namespace search_engines_helper { 20 21 // Used to access the search engines within a particular sync profile. 22 TemplateURLService* GetServiceForBrowserContext(int profile_index); 23 24 // Used to access the search engines within the verifier sync profile. 25 TemplateURLService* GetVerifierService(); 26 27 // Compared a single TemplateURLService for a given profile to the verifier. 28 // Retrns true iff their user-visible fields match. 29 bool ServiceMatchesVerifier(int profile_index); 30 31 // Returns true iff all TemplateURLServices match with the verifier. 32 bool AllServicesMatch(); 33 34 // Create a TemplateURL with some test values based on |seed|. The caller owns 35 // the returned TemplateURL*. 36 TemplateURL* CreateTestTemplateURL(Profile* profile, 37 int seed, 38 const string16& keyword, 39 const std::string& sync_guid); 40 TemplateURL* CreateTestTemplateURL(Profile* profile, 41 int seed, 42 const string16& keyword, 43 const std::string& url, 44 const std::string& sync_guid); 45 46 // Add a search engine based on a seed to the service at index |profile_index| 47 // and the verifier if it is used. 48 void AddSearchEngine(int profile_index, int seed); 49 50 // Retrieves a search engine from the service at index |profile_index| with 51 // original keyword |keyword| and changes its user-visible fields. Does the same 52 // to the verifier, if it is used. 53 void EditSearchEngine(int profile_index, 54 const string16& keyword, 55 const string16& short_name, 56 const string16& new_keyword, 57 const std::string& url); 58 59 // Deletes a search engine from the service at index |profile_index| which was 60 // generated by seed |seed|. 61 void DeleteSearchEngineBySeed(int profile_index, int seed); 62 63 // Change the search engine generated with |seed| in service at index 64 // |profile_index| to be the new default. Does the same to the verifier, if it 65 // is used. 66 void ChangeDefaultSearchProvider(int profile_index, int seed); 67 68 } // namespace search_engines_helper 69 70 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SEARCH_ENGINES_HELPER_H_ 71