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 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
948 test_util()->VerifyLoad(); | 948 test_util()->VerifyLoad(); |
949 | 949 |
950 // The synced DSE GUID should be empty until the user selects something or | 950 // The synced DSE GUID should be empty until the user selects something or |
951 // there is sync activity. | 951 // there is sync activity. |
952 EXPECT_TRUE(test_util() | 952 EXPECT_TRUE(test_util() |
953 ->profile() | 953 ->profile() |
954 ->GetTestingPrefService() | 954 ->GetTestingPrefService() |
955 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) | 955 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) |
956 .empty()); | 956 .empty()); |
957 | 957 |
958 TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); | 958 const TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); |
959 ASSERT_TRUE(initial_dse); | 959 ASSERT_TRUE(initial_dse); |
960 | 960 |
961 // Add user provided default search engine. | 961 // Add user provided default search engine. |
962 TemplateURL* user_dse = AddKeywordWithDate( | 962 TemplateURL* user_dse = AddKeywordWithDate( |
963 "user_dse", "user_dse.com", "http://www.user_dse.com/s?q={searchTerms}", | 963 "user_dse", "user_dse.com", "http://www.user_dse.com/s?q={searchTerms}", |
964 std::string(), std::string(), std::string(), true); | 964 std::string(), std::string(), std::string(), true); |
965 model()->SetUserSelectedDefaultSearchProvider(user_dse); | 965 model()->SetUserSelectedDefaultSearchProvider(user_dse); |
966 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 966 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
967 // Check that user dse is different from initial. | 967 // Check that user dse is different from initial. |
968 EXPECT_NE(initial_dse, user_dse); | 968 EXPECT_NE(initial_dse, user_dse); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1040 | 1040 |
1041 // The synced DSE GUID should be empty until the user selects something or | 1041 // The synced DSE GUID should be empty until the user selects something or |
1042 // there is sync activity. | 1042 // there is sync activity. |
1043 EXPECT_TRUE(test_util() | 1043 EXPECT_TRUE(test_util() |
1044 ->profile() | 1044 ->profile() |
1045 ->GetTestingPrefService() | 1045 ->GetTestingPrefService() |
1046 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) | 1046 ->GetString(prefs::kSyncedDefaultSearchProviderGUID) |
1047 .empty()); | 1047 .empty()); |
1048 | 1048 |
1049 // Get initial DSE to check its guid later. | 1049 // Get initial DSE to check its guid later. |
1050 TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); | 1050 const TemplateURL* initial_dse = model()->GetDefaultSearchProvider(); |
1051 ASSERT_TRUE(initial_dse); | 1051 ASSERT_TRUE(initial_dse); |
1052 | 1052 |
1053 // Add user provided default search engine. | 1053 // Add user provided default search engine. |
1054 TemplateURL* user_dse = model()->Add( | 1054 TemplateURL* user_dse = model()->Add( |
1055 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); | 1055 base::MakeUnique<TemplateURL>(*GenerateDummyTemplateURLData("user_dse"))); |
1056 model()->SetUserSelectedDefaultSearchProvider(user_dse); | 1056 model()->SetUserSelectedDefaultSearchProvider(user_dse); |
1057 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); | 1057 EXPECT_EQ(user_dse, model()->GetDefaultSearchProvider()); |
1058 | 1058 |
1059 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. | 1059 // Check that user DSE guid is stored in kSyncedDefaultSearchProviderGUID. |
1060 EXPECT_EQ(user_dse->sync_guid(), | 1060 EXPECT_EQ(user_dse->sync_guid(), |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1320 ASSERT_TRUE( | 1320 ASSERT_TRUE( |
1321 model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")) != NULL); | 1321 model()->GetTemplateURLForKeyword(ASCIIToUTF16("unittest")) != NULL); |
1322 } | 1322 } |
1323 | 1323 |
1324 // Make sure that load routine doesn't delete | 1324 // Make sure that load routine doesn't delete |
1325 // prepopulated engines that no longer exist in the prepopulate data if | 1325 // prepopulated engines that no longer exist in the prepopulate data if |
1326 // it has been modified by the user. | 1326 // it has been modified by the user. |
1327 TEST_F(TemplateURLServiceTest, LoadSavesPrepopulatedDefaultSearchProvider) { | 1327 TEST_F(TemplateURLServiceTest, LoadSavesPrepopulatedDefaultSearchProvider) { |
1328 test_util()->VerifyLoad(); | 1328 test_util()->VerifyLoad(); |
1329 // Verify that the default search provider is set to something. | 1329 // Verify that the default search provider is set to something. |
1330 TemplateURL* default_search = model()->GetDefaultSearchProvider(); | 1330 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
1331 ASSERT_TRUE(default_search != NULL); | 1331 ASSERT_TRUE(default_search != NULL); |
1332 std::unique_ptr<TemplateURL> cloned_url( | 1332 std::unique_ptr<TemplateURL> cloned_url( |
1333 new TemplateURL(default_search->data())); | 1333 new TemplateURL(default_search->data())); |
1334 | 1334 |
1335 // Wait for any saves to finish. | 1335 // Wait for any saves to finish. |
1336 base::RunLoop().RunUntilIdle(); | 1336 base::RunLoop().RunUntilIdle(); |
1337 | 1337 |
1338 // Reload the model and check that the default search provider | 1338 // Reload the model and check that the default search provider |
1339 // was properly saved. | 1339 // was properly saved. |
1340 test_util()->ResetModel(true); | 1340 test_util()->ResetModel(true); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1391 // Make sure that the load routine sets a default search provider if it was | 1391 // Make sure that the load routine sets a default search provider if it was |
1392 // missing and not managed. | 1392 // missing and not managed. |
1393 TEST_F(TemplateURLServiceTest, LoadEnsuresDefaultSearchProviderExists) { | 1393 TEST_F(TemplateURLServiceTest, LoadEnsuresDefaultSearchProviderExists) { |
1394 // Force the model to load and make sure we have a default search provider. | 1394 // Force the model to load and make sure we have a default search provider. |
1395 test_util()->VerifyLoad(); | 1395 test_util()->VerifyLoad(); |
1396 EXPECT_TRUE(model()->GetDefaultSearchProvider()); | 1396 EXPECT_TRUE(model()->GetDefaultSearchProvider()); |
1397 | 1397 |
1398 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( | 1398 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( |
1399 search_terms_data())); | 1399 search_terms_data())); |
1400 | 1400 |
1401 // Make default search provider unusable (no search terms). | 1401 // Force the model to load and make sure we have a default search provider. |
1402 model()->ResetTemplateURL(model()->GetDefaultSearchProvider(), | 1402 const TemplateURL* default_search = model()->GetDefaultSearchProvider(); |
1403 ASCIIToUTF16("test"), ASCIIToUTF16("test"), | 1403 EXPECT_TRUE(default_search); |
1404 "http://example.com/"); | 1404 EXPECT_TRUE(default_search->SupportsReplacement(search_terms_data())); |
| 1405 |
| 1406 // Make default search provider unusable (no search terms). Using |
| 1407 // GetTemplateURLForKeyword() returns a non-const pointer. |
| 1408 model()->ResetTemplateURL( |
| 1409 model()->GetTemplateURLForKeyword(default_search->keyword()), |
| 1410 ASCIIToUTF16("test"), ASCIIToUTF16("test"), "http://example.com/"); |
1405 base::RunLoop().RunUntilIdle(); | 1411 base::RunLoop().RunUntilIdle(); |
1406 | 1412 |
1407 // Reset the model and load it. There should be a usable default search | 1413 // Reset the model and load it. There should be a usable default search |
1408 // provider. | 1414 // provider. |
1409 test_util()->ResetModel(true); | 1415 test_util()->ResetModel(true); |
1410 | 1416 |
1411 ASSERT_TRUE(model()->GetDefaultSearchProvider()); | 1417 ASSERT_TRUE(model()->GetDefaultSearchProvider()); |
1412 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( | 1418 EXPECT_TRUE(model()->GetDefaultSearchProvider()->SupportsReplacement( |
1413 search_terms_data())); | 1419 search_terms_data())); |
1414 } | 1420 } |
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1973 DCHECK(search_engine2); | 1979 DCHECK(search_engine2); |
1974 | 1980 |
1975 base::HistogramTester histogram_tester; | 1981 base::HistogramTester histogram_tester; |
1976 model()->SetUserSelectedDefaultSearchProvider(search_engine1); | 1982 model()->SetUserSelectedDefaultSearchProvider(search_engine1); |
1977 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); | 1983 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); |
1978 model()->SetUserSelectedDefaultSearchProvider(search_engine1); | 1984 model()->SetUserSelectedDefaultSearchProvider(search_engine1); |
1979 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); | 1985 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 1); |
1980 model()->SetUserSelectedDefaultSearchProvider(search_engine2); | 1986 model()->SetUserSelectedDefaultSearchProvider(search_engine2); |
1981 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 2); | 1987 histogram_tester.ExpectTotalCount("Search.DefaultSearchChangeOrigin", 2); |
1982 } | 1988 } |
OLD | NEW |