Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: chrome/browser/search_engines/search_provider_install_data_unittest.cc

Issue 513133002: Move TemplateURLService related tests to components/search_engines (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/search_engines/template_url_fetcher_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "chrome/browser/search_engines/search_provider_install_data.h" 14 #include "chrome/browser/search_engines/search_provider_install_data.h"
15 #include "chrome/browser/search_engines/template_url_service_test_util.h" 15 #include "chrome/browser/search_engines/template_url_service_test_util.h"
16 #include "chrome/test/base/testing_pref_service_syncable.h" 16 #include "chrome/test/base/testing_pref_service_syncable.h"
17 #include "chrome/test/base/testing_profile.h" 17 #include "chrome/test/base/testing_profile.h"
18 #include "components/search_engines/search_terms_data.h" 18 #include "components/search_engines/search_terms_data.h"
19 #include "components/search_engines/template_url.h" 19 #include "components/search_engines/template_url.h"
20 #include "components/search_engines/template_url_prepopulate_data.h" 20 #include "components/search_engines/template_url_prepopulate_data.h"
21 #include "components/search_engines/template_url_service.h" 21 #include "components/search_engines/template_url_service.h"
22 #include "content/public/browser/browser_thread.h"
22 #include "content/public/test/mock_render_process_host.h" 23 #include "content/public/test/mock_render_process_host.h"
23 #include "content/public/test/test_browser_thread.h" 24 #include "content/public/test/test_browser_thread_bundle.h"
24 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
25 26
26 using content::BrowserThread; 27 using content::BrowserThread;
27 28
28 namespace { 29 namespace {
29 30
30 // TestGetInstallState -------------------------------------------------------- 31 // TestGetInstallState --------------------------------------------------------
31 32
32 // Test the SearchProviderInstallData::GetInstallState. 33 // Test the SearchProviderInstallData::GetInstallState.
33 class TestGetInstallState { 34 class TestGetInstallState {
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 116
116 // Provides basic test set-up/tear-down functionality needed by all tests 117 // Provides basic test set-up/tear-down functionality needed by all tests
117 // that use TemplateURLServiceTestUtil. 118 // that use TemplateURLServiceTestUtil.
118 class SearchProviderInstallDataTest : public testing::Test { 119 class SearchProviderInstallDataTest : public testing::Test {
119 public: 120 public:
120 SearchProviderInstallDataTest(); 121 SearchProviderInstallDataTest();
121 122
122 virtual void SetUp() OVERRIDE; 123 virtual void SetUp() OVERRIDE;
123 virtual void TearDown() OVERRIDE; 124 virtual void TearDown() OVERRIDE;
124 125
125 protected:
126 TemplateURL* AddNewTemplateURL(const std::string& url, 126 TemplateURL* AddNewTemplateURL(const std::string& url,
127 const base::string16& keyword); 127 const base::string16& keyword);
128 128
129 // Sets the Google base URL to |base_url| and runs the IO thread for 129 // Sets the Google base URL to |base_url| and runs the IO thread for
130 // |SearchProviderInstallData| to process the update. 130 // |SearchProviderInstallData| to process the update.
131 void SetGoogleBaseURLAndProcessOnIOThread(GURL base_url); 131 void SetGoogleBaseURLAndProcessOnIOThread(GURL base_url);
132 132
133 TemplateURLServiceTestUtil* util() { return &util_; }
134 SearchProviderInstallData* install_data() { return install_data_; }
135
136 private:
137 content::TestBrowserThreadBundle thread_bundle_; // To set up BrowserThreads.
133 TemplateURLServiceTestUtil util_; 138 TemplateURLServiceTestUtil util_;
134 139
135 // Provides the search provider install state on the I/O thread. It must be 140 // Provides the search provider install state on the I/O thread. It must be
136 // deleted on the I/O thread, which is why it isn't a scoped_ptr. 141 // deleted on the I/O thread, which is why it isn't a scoped_ptr.
137 SearchProviderInstallData* install_data_; 142 SearchProviderInstallData* install_data_;
138 143
139 // A mock RenderProcessHost that the SearchProviderInstallData will scope its 144 // A mock RenderProcessHost that the SearchProviderInstallData will scope its
140 // lifetime to. 145 // lifetime to.
141 scoped_ptr<content::MockRenderProcessHost> process_; 146 scoped_ptr<content::MockRenderProcessHost> process_;
142 147
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 base_url.spec())); 198 base_url.spec()));
194 199
195 // Wait for the I/O thread to process the update notification. 200 // Wait for the I/O thread to process the update notification.
196 base::RunLoop().RunUntilIdle(); 201 base::RunLoop().RunUntilIdle();
197 } 202 }
198 203
199 // Actual tests --------------------------------------------------------------- 204 // Actual tests ---------------------------------------------------------------
200 205
201 TEST_F(SearchProviderInstallDataTest, GetInstallState) { 206 TEST_F(SearchProviderInstallDataTest, GetInstallState) {
202 // Set up the database. 207 // Set up the database.
203 util_.ChangeModelToLoadState(); 208 util()->ChangeModelToLoadState();
204 std::string host = "www.unittest.com"; 209 std::string host = "www.unittest.com";
205 AddNewTemplateURL("http://" + host + "/path", base::ASCIIToUTF16("unittest")); 210 AddNewTemplateURL("http://" + host + "/path", base::ASCIIToUTF16("unittest"));
206 211
207 // Wait for the changes to be saved. 212 // Wait for the changes to be saved.
208 base::RunLoop().RunUntilIdle(); 213 base::RunLoop().RunUntilIdle();
209 214
210 // Verify the search providers install state (with no default set). 215 // Verify the search providers install state (with no default set).
211 TestGetInstallState test_get_install_state(install_data_); 216 TestGetInstallState test_get_install_state(install_data());
212 test_get_install_state.RunTests(host, std::string()); 217 test_get_install_state.RunTests(host, std::string());
213 218
214 // Set-up a default and try it all one more time. 219 // Set-up a default and try it all one more time.
215 std::string default_host = "www.mmm.com"; 220 std::string default_host = "www.mmm.com";
216 TemplateURL* default_url = 221 TemplateURL* default_url =
217 AddNewTemplateURL("http://" + default_host + "/", 222 AddNewTemplateURL("http://" + default_host + "/",
218 base::ASCIIToUTF16("mmm")); 223 base::ASCIIToUTF16("mmm"));
219 util_.model()->SetUserSelectedDefaultSearchProvider(default_url); 224 util()->model()->SetUserSelectedDefaultSearchProvider(default_url);
220 test_get_install_state.RunTests(host, default_host); 225 test_get_install_state.RunTests(host, default_host);
221 } 226 }
222 227
223 TEST_F(SearchProviderInstallDataTest, ManagedDefaultSearch) { 228 TEST_F(SearchProviderInstallDataTest, ManagedDefaultSearch) {
224 // Set up the database. 229 // Set up the database.
225 util_.ChangeModelToLoadState(); 230 util()->ChangeModelToLoadState();
226 std::string host = "www.unittest.com"; 231 std::string host = "www.unittest.com";
227 AddNewTemplateURL("http://" + host + "/path", base::ASCIIToUTF16("unittest")); 232 AddNewTemplateURL("http://" + host + "/path", base::ASCIIToUTF16("unittest"));
228 233
229 // Set a managed preference that establishes a default search provider. 234 // Set a managed preference that establishes a default search provider.
230 std::string host2 = "www.managedtest.com"; 235 std::string host2 = "www.managedtest.com";
231 util_.SetManagedDefaultSearchPreferences( 236 util()->SetManagedDefaultSearchPreferences(
232 true, 237 true,
233 "managed", 238 "managed",
234 "managed", 239 "managed",
235 "http://" + host2 + "/p{searchTerms}", 240 "http://" + host2 + "/p{searchTerms}",
236 std::string(), 241 std::string(),
237 std::string(), 242 std::string(),
238 std::string(), 243 std::string(),
239 std::string(), 244 std::string(),
240 std::string()); 245 std::string());
241 246
242 EXPECT_TRUE(util_.model()->is_default_search_managed()); 247 EXPECT_TRUE(util()->model()->is_default_search_managed());
243 248
244 // Wait for the changes to be saved. 249 // Wait for the changes to be saved.
245 base::RunLoop().RunUntilIdle(); 250 base::RunLoop().RunUntilIdle();
246 251
247 // Verify the search providers install state. The default search should be 252 // Verify the search providers install state. The default search should be
248 // the managed one we previously set. 253 // the managed one we previously set.
249 TestGetInstallState test_get_install_state(install_data_); 254 TestGetInstallState test_get_install_state(install_data());
250 test_get_install_state.RunTests(host, host2); 255 test_get_install_state.RunTests(host, host2);
251 } 256 }
252 257
253 TEST_F(SearchProviderInstallDataTest, GoogleBaseUrlChange) { 258 TEST_F(SearchProviderInstallDataTest, GoogleBaseUrlChange) {
254 TestGetInstallState test_get_install_state(install_data_); 259 TestGetInstallState test_get_install_state(install_data());
255 260
256 // Set up the database. 261 // Set up the database.
257 util_.ChangeModelToLoadState(); 262 util()->ChangeModelToLoadState();
258 std::string google_host = "w.com"; 263 std::string google_host = "w.com";
259 SetGoogleBaseURLAndProcessOnIOThread(GURL("http://" + google_host + "/")); 264 SetGoogleBaseURLAndProcessOnIOThread(GURL("http://" + google_host + "/"));
260 265
261 AddNewTemplateURL("{google:baseURL}?q={searchTerms}", 266 AddNewTemplateURL("{google:baseURL}?q={searchTerms}",
262 base::ASCIIToUTF16("t")); 267 base::ASCIIToUTF16("t"));
263 TemplateURL* default_url = 268 TemplateURL* default_url =
264 AddNewTemplateURL("http://d.com/", base::ASCIIToUTF16("d")); 269 AddNewTemplateURL("http://d.com/", base::ASCIIToUTF16("d"));
265 util_.model()->SetUserSelectedDefaultSearchProvider(default_url); 270 util()->model()->SetUserSelectedDefaultSearchProvider(default_url);
266 271
267 // Wait for the changes to be saved. 272 // Wait for the changes to be saved.
268 base::RunLoop().RunUntilIdle(); 273 base::RunLoop().RunUntilIdle();
269 274
270 // Verify the search providers install state (with no default set). 275 // Verify the search providers install state (with no default set).
271 test_get_install_state.RunTests(google_host, std::string()); 276 test_get_install_state.RunTests(google_host, std::string());
272 277
273 // Change the Google base url. 278 // Change the Google base url.
274 google_host = "foo.com"; 279 google_host = "foo.com";
275 SetGoogleBaseURLAndProcessOnIOThread(GURL("http://" + google_host + "/")); 280 SetGoogleBaseURLAndProcessOnIOThread(GURL("http://" + google_host + "/"));
276 281
277 // Verify that the change got picked up. 282 // Verify that the change got picked up.
278 test_get_install_state.RunTests(google_host, std::string()); 283 test_get_install_state.RunTests(google_host, std::string());
279 } 284 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/search_engines/template_url_fetcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698