OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 "base/files/scoped_temp_dir.h" | 5 #include "base/files/scoped_temp_dir.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/strings/string_split.h" | 7 #include "base/strings/string_split.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
11 #include "chrome/browser/search_engines/default_search_manager.h" | 11 #include "chrome/browser/search_engines/default_search_manager.h" |
12 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" | 12 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" |
13 #include "chrome/common/pref_names.h" | 13 #include "chrome/common/pref_names.h" |
14 #include "chrome/test/base/testing_pref_service_syncable.h" | |
15 #include "components/pref_registry/pref_registry_syncable.h" | 14 #include "components/pref_registry/pref_registry_syncable.h" |
| 15 #include "components/pref_registry/testing_pref_service_syncable.h" |
16 #include "components/search_engines/template_url_data.h" | 16 #include "components/search_engines/template_url_data.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
18 | 18 |
19 namespace { | 19 namespace { |
20 // A dictionary to hold all data related to the Default Search Engine. | 20 // A dictionary to hold all data related to the Default Search Engine. |
21 // Eventually, this should replace all the data stored in the | 21 // Eventually, this should replace all the data stored in the |
22 // default_search_provider.* prefs. | 22 // default_search_provider.* prefs. |
23 const char kDefaultSearchProviderData[] = | 23 const char kDefaultSearchProviderData[] = |
24 "default_search_provider_data.template_url_data"; | 24 "default_search_provider_data.template_url_data"; |
25 | 25 |
(...skipping 11 matching lines...) Expand all Loading... |
37 EXPECT_EQ(expected->favicon_url, actual->favicon_url); | 37 EXPECT_EQ(expected->favicon_url, actual->favicon_url); |
38 EXPECT_EQ(expected->alternate_urls, actual->alternate_urls); | 38 EXPECT_EQ(expected->alternate_urls, actual->alternate_urls); |
39 EXPECT_EQ(expected->show_in_default_list, actual->show_in_default_list); | 39 EXPECT_EQ(expected->show_in_default_list, actual->show_in_default_list); |
40 EXPECT_EQ(expected->safe_for_autoreplace, actual->safe_for_autoreplace); | 40 EXPECT_EQ(expected->safe_for_autoreplace, actual->safe_for_autoreplace); |
41 EXPECT_EQ(expected->input_encodings, actual->input_encodings); | 41 EXPECT_EQ(expected->input_encodings, actual->input_encodings); |
42 EXPECT_EQ(expected->search_terms_replacement_key, | 42 EXPECT_EQ(expected->search_terms_replacement_key, |
43 actual->search_terms_replacement_key); | 43 actual->search_terms_replacement_key); |
44 } | 44 } |
45 | 45 |
46 // TODO(caitkp): TemplateURLData-ify this. | 46 // TODO(caitkp): TemplateURLData-ify this. |
47 void SetOverrides(TestingPrefServiceSyncable* prefs, bool update) { | 47 void SetOverrides(user_prefs::TestingPrefServiceSyncable* prefs, bool update) { |
48 prefs->SetUserPref(prefs::kSearchProviderOverridesVersion, | 48 prefs->SetUserPref(prefs::kSearchProviderOverridesVersion, |
49 base::Value::CreateIntegerValue(1)); | 49 base::Value::CreateIntegerValue(1)); |
50 base::ListValue* overrides = new base::ListValue; | 50 base::ListValue* overrides = new base::ListValue; |
51 scoped_ptr<base::DictionaryValue> entry(new base::DictionaryValue); | 51 scoped_ptr<base::DictionaryValue> entry(new base::DictionaryValue); |
52 | 52 |
53 entry->SetString("name", update ? "new_foo" : "foo"); | 53 entry->SetString("name", update ? "new_foo" : "foo"); |
54 entry->SetString("keyword", update ? "new_fook" : "fook"); | 54 entry->SetString("keyword", update ? "new_fook" : "fook"); |
55 entry->SetString("search_url", "http://foo.com/s?q={searchTerms}"); | 55 entry->SetString("search_url", "http://foo.com/s?q={searchTerms}"); |
56 entry->SetString("favicon_url", "http://foi.com/favicon.ico"); | 56 entry->SetString("favicon_url", "http://foi.com/favicon.ico"); |
57 entry->SetString("encoding", "UTF-8"); | 57 entry->SetString("encoding", "UTF-8"); |
(...skipping 13 matching lines...) Expand all Loading... |
71 entry->SetString("encoding", std::string()); | 71 entry->SetString("encoding", std::string()); |
72 overrides->Append(entry->DeepCopy()); | 72 overrides->Append(entry->DeepCopy()); |
73 entry->SetInteger("id", 1003); | 73 entry->SetInteger("id", 1003); |
74 entry->SetString("name", "baz"); | 74 entry->SetString("name", "baz"); |
75 entry->SetString("keyword", "bazk"); | 75 entry->SetString("keyword", "bazk"); |
76 entry->SetString("encoding", "UTF-8"); | 76 entry->SetString("encoding", "UTF-8"); |
77 overrides->Append(entry->DeepCopy()); | 77 overrides->Append(entry->DeepCopy()); |
78 prefs->SetUserPref(prefs::kSearchProviderOverrides, overrides); | 78 prefs->SetUserPref(prefs::kSearchProviderOverrides, overrides); |
79 } | 79 } |
80 | 80 |
81 void SetPolicy(TestingPrefServiceSyncable* prefs, | 81 void SetPolicy(user_prefs::TestingPrefServiceSyncable* prefs, |
82 bool enabled, | 82 bool enabled, |
83 TemplateURLData* data) { | 83 TemplateURLData* data) { |
84 if (enabled) { | 84 if (enabled) { |
85 EXPECT_FALSE(data->keyword().empty()); | 85 EXPECT_FALSE(data->keyword().empty()); |
86 EXPECT_FALSE(data->url().empty()); | 86 EXPECT_FALSE(data->url().empty()); |
87 } | 87 } |
88 scoped_ptr<base::DictionaryValue> entry(new base::DictionaryValue); | 88 scoped_ptr<base::DictionaryValue> entry(new base::DictionaryValue); |
89 entry->SetString(DefaultSearchManager::kShortName, data->short_name); | 89 entry->SetString(DefaultSearchManager::kShortName, data->short_name); |
90 entry->SetString(DefaultSearchManager::kKeyword, data->keyword()); | 90 entry->SetString(DefaultSearchManager::kKeyword, data->keyword()); |
91 entry->SetString(DefaultSearchManager::kURL, data->url()); | 91 entry->SetString(DefaultSearchManager::kURL, data->url()); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 return data.Pass(); | 135 return data.Pass(); |
136 } | 136 } |
137 | 137 |
138 } // namespace | 138 } // namespace |
139 | 139 |
140 class DefaultSearchManagerTest : public testing::Test { | 140 class DefaultSearchManagerTest : public testing::Test { |
141 public: | 141 public: |
142 DefaultSearchManagerTest() {}; | 142 DefaultSearchManagerTest() {}; |
143 | 143 |
144 virtual void SetUp() OVERRIDE { | 144 virtual void SetUp() OVERRIDE { |
145 pref_service_.reset(new TestingPrefServiceSyncable); | 145 pref_service_.reset(new user_prefs::TestingPrefServiceSyncable); |
146 DefaultSearchManager::RegisterProfilePrefs(pref_service_->registry()); | 146 DefaultSearchManager::RegisterProfilePrefs(pref_service_->registry()); |
147 TemplateURLPrepopulateData::RegisterProfilePrefs(pref_service_->registry()); | 147 TemplateURLPrepopulateData::RegisterProfilePrefs(pref_service_->registry()); |
148 } | 148 } |
149 | 149 |
150 TestingPrefServiceSyncable* pref_service() { return pref_service_.get(); } | 150 user_prefs::TestingPrefServiceSyncable* pref_service() { |
| 151 return pref_service_.get(); |
| 152 } |
151 | 153 |
152 private: | 154 private: |
153 scoped_ptr<TestingPrefServiceSyncable> pref_service_; | 155 scoped_ptr<user_prefs::TestingPrefServiceSyncable> pref_service_; |
154 | 156 |
155 DISALLOW_COPY_AND_ASSIGN(DefaultSearchManagerTest); | 157 DISALLOW_COPY_AND_ASSIGN(DefaultSearchManagerTest); |
156 }; | 158 }; |
157 | 159 |
158 // Test that a TemplateURLData object is properly written and read from Prefs. | 160 // Test that a TemplateURLData object is properly written and read from Prefs. |
159 TEST_F(DefaultSearchManagerTest, ReadAndWritePref) { | 161 TEST_F(DefaultSearchManagerTest, ReadAndWritePref) { |
160 DefaultSearchManager manager(pref_service(), | 162 DefaultSearchManager manager(pref_service(), |
161 DefaultSearchManager::ObserverCallback()); | 163 DefaultSearchManager::ObserverCallback()); |
162 TemplateURLData data; | 164 TemplateURLData data; |
163 data.short_name = base::UTF8ToUTF16("name1"); | 165 data.short_name = base::UTF8ToUTF16("name1"); |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 | 315 |
314 ExpectSimilar(extension_data_3.get(), | 316 ExpectSimilar(extension_data_3.get(), |
315 manager.GetDefaultSearchEngine(&source)); | 317 manager.GetDefaultSearchEngine(&source)); |
316 EXPECT_EQ(DefaultSearchManager::FROM_EXTENSION, source); | 318 EXPECT_EQ(DefaultSearchManager::FROM_EXTENSION, source); |
317 | 319 |
318 manager.ClearExtensionControlledDefaultSearchEngine(); | 320 manager.ClearExtensionControlledDefaultSearchEngine(); |
319 | 321 |
320 ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source)); | 322 ExpectSimilar(data.get(), manager.GetDefaultSearchEngine(&source)); |
321 EXPECT_EQ(DefaultSearchManager::FROM_USER, source); | 323 EXPECT_EQ(DefaultSearchManager::FROM_USER, source); |
322 } | 324 } |
OLD | NEW |