1// Copyright 2014 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/search_engines/template_url_service_factory_test_util.h" 6 7#include "base/run_loop.h" 8#include "chrome/browser/search_engines/template_url_service_factory.h" 9#include "chrome/test/base/testing_pref_service_syncable.h" 10#include "chrome/test/base/testing_profile.h" 11#include "components/search_engines/default_search_pref_test_util.h" 12#include "components/search_engines/template_url_service.h" 13 14TemplateURLServiceFactoryTestUtil::TemplateURLServiceFactoryTestUtil( 15 TestingProfile* profile) 16 : profile_(profile) { 17 profile_->CreateWebDataService(); 18 19 TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse( 20 profile_, TemplateURLServiceFactory::BuildInstanceFor); 21} 22 23TemplateURLServiceFactoryTestUtil::~TemplateURLServiceFactoryTestUtil() { 24 // Flush the message loop to make application verifiers happy. 25 base::RunLoop().RunUntilIdle(); 26} 27 28void TemplateURLServiceFactoryTestUtil::VerifyLoad() { 29 model()->Load(); 30 base::RunLoop().RunUntilIdle(); 31} 32 33void TemplateURLServiceFactoryTestUtil::SetManagedDefaultSearchPreferences( 34 bool enabled, 35 const std::string& name, 36 const std::string& keyword, 37 const std::string& search_url, 38 const std::string& suggest_url, 39 const std::string& icon_url, 40 const std::string& encodings, 41 const std::string& alternate_url, 42 const std::string& search_terms_replacement_key) { 43 DefaultSearchPrefTestUtil::SetManagedPref( 44 profile_->GetTestingPrefService(), 45 enabled, name, keyword, search_url, suggest_url, icon_url, encodings, 46 alternate_url, search_terms_replacement_key); 47} 48 49void 50TemplateURLServiceFactoryTestUtil::RemoveManagedDefaultSearchPreferences() { 51 DefaultSearchPrefTestUtil::RemoveManagedPref( 52 profile_->GetTestingPrefService()); 53} 54 55TemplateURLService* TemplateURLServiceFactoryTestUtil::model() const { 56 return TemplateURLServiceFactory::GetForProfile(profile_); 57} 58