Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "components/search_engines/template_url_service.h" | 5 #include "components/search_engines/template_url_service.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 949 test_util()->VerifyLoad(); | 949 test_util()->VerifyLoad(); |
| 950 | 950 |
| 951 // The synced DSE GUID should be empty until the user selects something or | 951 // The synced DSE GUID should be empty until the user selects something or |
| 952 // there is sync activity. | 952 // there is sync activity. |
| 953 EXPECT_TRUE(test_util() | 953 EXPECT_TRUE(test_util() |
| 954 ->profile() | 954 ->profile() |
| 955 ->GetTestingPrefService() | 955 ->GetTestingPrefService() |
| 956 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) | 956 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) |
| 957 .empty()); | 957 .empty()); |
| 958 | 958 |
| 959 TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); | 959 const TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); |
| 960 ASSERT_TRUE(initial_dse); | 960 ASSERT_TRUE(initial_dse); |
| 961 | 961 |
| 962 // Add user provided default search engine. | 962 // Add user provided default search engine. |
| 963 TemplateURL* user_dse = AddKeywordWithDate( | 963 TemplateURL* user_dse = AddKeywordWithDate( |
| 964 "user_dse", "user_dse.com", "http://www.user_dse.com/s?q={searchTerms}", | 964 "user_dse", "user_dse.com", "http://www.user_dse.com/s?q={searchTerms}", |
| 965 std::string(), std::string(), std::string(), true); | 965 std::string(), std::string(), std::string(), true); |
| 966 model()->SetUserSelectedDefaultSearchProvider(user_dse); | 966 model()->SetUserSelectedDefaultSearchProvider(user_dse); |
| 967 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 967 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
| 968 // Check that user dse is different from initial. | 968 // Check that user dse is different from initial. |
| 969 EXPECT_NE(initial_dse, user_dse); | 969 EXPECT_NE(initial_dse, user_dse); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1041 | 1041 |
| 1042 // The synced DSE GUID should be empty until the user selects something or | 1042 // The synced DSE GUID should be empty until the user selects something or |
| 1043 // there is sync activity. | 1043 // there is sync activity. |
| 1044 EXPECT_TRUE(test_util() | 1044 EXPECT_TRUE(test_util() |
| 1045 ->profile() | 1045 ->profile() |
| 1046 ->GetTestingPrefService() | 1046 ->GetTestingPrefService() |
| 1047 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) | 1047 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) |
| 1048 .empty()); | 1048 .empty()); |
| 1049 | 1049 |
| 1050 // Get initial DSE to check its guid later. | 1050 // Get initial DSE to check its guid later. |
| 1051 TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); | 1051 const TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); |
| 1052 ASSERT_TRUE(initial_dse); | 1052 ASSERT_TRUE(initial_dse); |
| 1053 | 1053 |
| 1054 // Add user provided default search engine. | 1054 // Add user provided default search engine. |
| 1055 TemplateURL* user_dse = model()->Add( | 1055 TemplateURL* user_dse = model()->Add( |
| 1056 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); | 1056 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); |
| 1057 model()->SetUserSelectedDefaultSearchProvider(user_dse); | 1057 model()->SetUserSelectedDefaultSearchProvider(user_dse); |
| 1058 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 1058 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
| 1059 | 1059 |
| 1060 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. | 1060 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. |
| 1061 EXPECT_EQ(user_dse->sync_guid(), | 1061 EXPECT_EQ(user_dse->sync_guid(), |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1321 ASSERT_TRUE( | 1321 ASSERT_TRUE( |
| 1322 model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")) != NULL); | 1322 model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")) != NULL); |
| 1323 } | 1323 } |
| 1324 | 1324 |
| 1325 // Make sure that load routine doesn't delete | 1325 // Make sure that load routine doesn't delete |
| 1326 // prepopulated engines that no longer exist in the prepopulate data if | 1326 // prepopulated engines that no longer exist in the prepopulate data if |
| 1327 // it has been modified by the user. | 1327 // it has been modified by the user. |
| 1328 TEST_F(TemplateURLServiceTest, LoadSavesPrepopulatedDefaultSearchProvider) { | 1328 TEST_F(TemplateURLServiceTest, LoadSavesPrepopulatedDefaultSearchProvider) { |
| 1329 test_util()->VerifyLoad(); | 1329 test_util()->VerifyLoad(); |
| 1330 // Verify that the default search provider is set to something. | 1330 // Verify that the default search provider is set to something. |
| 1331 TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 1331 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
| 1332 ASSERT_TRUE(default_search != NULL); | 1332 ASSERT_TRUE(default_search != NULL); |
| 1333 std::unique_ptr<TemplateURL> cloned_url( | 1333 std::unique_ptr<TemplateURL> cloned_url( |
| 1334 new TemplateURL(default_search->data())); | 1334 new TemplateURL(default_search->data())); |
| 1335 | 1335 |
| 1336 // Wait for any saves to finish. | 1336 // Wait for any saves to finish. |
| 1337 base::RunLoop().RunUntilIdle(); | 1337 base::RunLoop().RunUntilIdle(); |
| 1338 | 1338 |
| 1339 // Reload the model and check that the default search provider | 1339 // Reload the model and check that the default search provider |
| 1340 // was properly saved. | 1340 // was properly saved. |
| 1341 test_util()->ResetModel(true); | 1341 test_util()->ResetModel(true); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1393 // missing and not managed. | 1393 // missing and not managed. |
| 1394 TEST_F(TemplateURLServiceTest, LoadEnsuresDefaultSearchProviderExists) { | 1394 TEST_F(TemplateURLServiceTest, LoadEnsuresDefaultSearchProviderExists) { |
| 1395 // Force the model to load and make sure we have a default search provider. | 1395 // Force the model to load and make sure we have a default search provider. |
| 1396 test_util()->VerifyLoad(); | 1396 test_util()->VerifyLoad(); |
| 1397 EXPECT_TRUE(model()->GetDefaultSearchProvider()); | 1397 EXPECT_TRUE(model()->GetDefaultSearchProvider()); |
| 1398 | 1398 |
| 1399 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( | 1399 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( |
| 1400 search_terms_data())); | 1400 search_terms_data())); |
| 1401 | 1401 |
| 1402 // Make default search provider unusable (no search terms). | 1402 // Make default search provider unusable (no search terms). |
| 1403 model()->ResetTemplateURL(model()->GetDefaultSearchProvider(), | 1403 TemplateURL* default_search_provider = |
| 1404 const_cast<TemplateURL*>(model()->GetDefaultSearchProvider()); | |
|
Peter Kasting
2017/04/18 02:07:32
Avoid this cast... for example:
// Force the mo
jeffschiller
2017/04/21 04:58:35
Done.
jeffschiller
2017/04/21 04:58:35
Done.
| |
| 1405 model()->ResetTemplateURL(default_search_provider, | |
| 1404 ASCIIToUTF16("test"), ASCIIToUTF16("test"), | 1406 ASCIIToUTF16("test"), ASCIIToUTF16("test"), |
| 1405 "http://example.com/"); | 1407 "http://example.com/"); |
| 1406 base::RunLoop().RunUntilIdle(); | 1408 base::RunLoop().RunUntilIdle(); |
| 1407 | 1409 |
| 1408 // Reset the model and load it. There should be a usable default search | 1410 // Reset the model and load it. There should be a usable default search |
| 1409 // provider. | 1411 // provider. |
| 1410 test_util()->ResetModel(true); | 1412 test_util()->ResetModel(true); |
| 1411 | 1413 |
| 1412 ASSERT_TRUE(model()->GetDefaultSearchProvider()); | 1414 ASSERT_TRUE(model()->GetDefaultSearchProvider()); |
| 1413 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( | 1415 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( |
| (...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1957 DCHECK(search_engine2); | 1959 DCHECK(search_engine2); |
| 1958 | 1960 |
| 1959 base::HistogramTester histogram_tester; | 1961 base::HistogramTester histogram_tester; |
| 1960 model()->SetUserSelectedDefaultSearchProvider(search_engine1); | 1962 model()->SetUserSelectedDefaultSearchProvider(search_engine1); |
| 1961 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); | 1963 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); |
| 1962 model()->SetUserSelectedDefaultSearchProvider(search_engine1); | 1964 model()->SetUserSelectedDefaultSearchProvider(search_engine1); |
| 1963 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); | 1965 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); |
| 1964 model()->SetUserSelectedDefaultSearchProvider(search_engine2); | 1966 model()->SetUserSelectedDefaultSearchProvider(search_engine2); |
| 1965 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 2); | 1967 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 2); |
| 1966 } | 1968 } |
| OLD | NEW |