Index: chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc |
diff --git a/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc b/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc |
index f13247e7527459c2e2072ac0272bb61b626c874d..658ee230c2bb20ec8ef7f823e61e5e3a4325d1f9 100644 |
--- a/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc |
+++ b/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc |
@@ -5,8 +5,10 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/strings/string16.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "base/values.h" |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/search_engines/default_search_manager.h" |
#include "chrome/browser/search_engines/template_url.h" |
#include "chrome/browser/search_engines/template_url_service.h" |
#include "chrome/browser/search_engines/template_url_service_factory.h" |
@@ -71,22 +73,16 @@ class KeywordEditorControllerTest : public testing::Test, |
void SimulateDefaultSearchIsManaged(const std::string& url) { |
ASSERT_FALSE(url.empty()); |
TestingPrefServiceSyncable* service = profile_->GetTestingPrefService(); |
- service->SetManagedPref(prefs::kDefaultSearchProviderEnabled, |
- new base::FundamentalValue(true)); |
- service->SetManagedPref(prefs::kDefaultSearchProviderSearchURL, |
- new base::StringValue(url)); |
- service->SetManagedPref(prefs::kDefaultSearchProviderName, |
- new base::StringValue("managed")); |
- service->SetManagedPref(prefs::kDefaultSearchProviderKeyword, |
- new base::StringValue("managed")); |
- // Clear the IDs that are not specified via policy. |
- service->SetManagedPref(prefs::kDefaultSearchProviderID, |
- new base::StringValue(std::string())); |
- service->SetManagedPref(prefs::kDefaultSearchProviderPrepopulateID, |
- new base::StringValue(std::string())); |
- model_->Observe(chrome::NOTIFICATION_DEFAULT_SEARCH_POLICY_CHANGED, |
- content::NotificationService::AllSources(), |
- content::NotificationService::NoDetails()); |
+ scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue); |
+ value->Set(DefaultSearchManager::kShortName, |
+ base::Value::CreateStringValue("managed")); |
+ value->Set(DefaultSearchManager::kKeyword, |
+ base::Value::CreateStringValue("managed")); |
+ value->Set(DefaultSearchManager::kURL, |
+ base::Value::CreateStringValue(url)); |
+ service->SetManagedPref( |
+ DefaultSearchManager::kDefaultSearchProviderDataPrefName, |
+ value.release()); |
} |
TemplateURLTableModel* table_model() const { |
@@ -125,6 +121,7 @@ void KeywordEditorControllerTest::Init(bool simulate_load_failure) { |
// Tests adding a TemplateURL. |
TEST_F(KeywordEditorControllerTest, Add) { |
+ int original_row_count = table_model()->RowCount(); |
controller_->AddTemplateURL(kA, kB, "http://c"); |
// Verify the observer was notified. |
@@ -133,13 +130,11 @@ TEST_F(KeywordEditorControllerTest, Add) { |
return; |
// Verify the TableModel has the new data. |
- ASSERT_EQ(1, table_model()->RowCount()); |
+ ASSERT_EQ(original_row_count + 1, table_model()->RowCount()); |
- // Verify the TemplateURLService has the new entry. |
- ASSERT_EQ(1U, model_->GetTemplateURLs().size()); |
- |
- // Verify the entry is what we added. |
- const TemplateURL* turl = model_->GetTemplateURLs()[0]; |
+ // Verify the TemplateURLService has the new data. |
+ const TemplateURL* turl = model_->GetTemplateURLForKeyword(kB); |
+ ASSERT_TRUE(turl); |
EXPECT_EQ(ASCIIToUTF16("a"), turl->short_name()); |
EXPECT_EQ(ASCIIToUTF16("b"), turl->keyword()); |
EXPECT_EQ("http://c", turl->url()); |
@@ -163,12 +158,12 @@ TEST_F(KeywordEditorControllerTest, Modify) { |
// Tests making a TemplateURL the default search provider. |
TEST_F(KeywordEditorControllerTest, MakeDefault) { |
- controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); |
+ int index = controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); |
ClearChangeCount(); |
- const TemplateURL* turl = model_->GetTemplateURLs()[0]; |
- int new_default = controller_->MakeDefaultTemplateURL(0); |
- EXPECT_EQ(0, new_default); |
+ const TemplateURL* turl = model_->GetTemplateURLForKeyword(kB); |
+ int new_default = controller_->MakeDefaultTemplateURL(index); |
+ EXPECT_EQ(index, new_default); |
// Making an item the default sends a handful of changes. Which are sent isn't |
// important, what is important is 'something' is sent. |
ASSERT_TRUE(items_changed_count_ > 0 || added_count_ > 0 || |
@@ -176,7 +171,7 @@ TEST_F(KeywordEditorControllerTest, MakeDefault) { |
ASSERT_TRUE(model_->GetDefaultSearchProvider() == turl); |
// Making it default a second time should fail. |
- new_default = controller_->MakeDefaultTemplateURL(0); |
+ new_default = controller_->MakeDefaultTemplateURL(index); |
EXPECT_EQ(-1, new_default); |
} |
@@ -234,17 +229,19 @@ TEST_F(KeywordEditorControllerTest, MakeDefaultNoWebData) { |
// Simulate a failure to load Web Data. |
Init(true); |
- controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); |
+ int index = controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); |
ClearChangeCount(); |
// This should not result in a crash. |
- int new_default = controller_->MakeDefaultTemplateURL(0); |
- EXPECT_EQ(0, new_default); |
+ int new_default = controller_->MakeDefaultTemplateURL(index); |
+ EXPECT_EQ(index, new_default); |
} |
// Mutates the TemplateURLService and make sure table model is updating |
// appropriately. |
TEST_F(KeywordEditorControllerTest, MutateTemplateURLService) { |
+ int original_row_count = table_model()->RowCount(); |
+ |
TemplateURLData data; |
data.short_name = ASCIIToUTF16("b"); |
data.SetKeyword(ASCIIToUTF16("a")); |
@@ -255,6 +252,6 @@ TEST_F(KeywordEditorControllerTest, MutateTemplateURLService) { |
VerifyChangeCount(1, 0, 0, 0); |
// And should contain the newly added TemplateURL. |
- ASSERT_EQ(1, table_model()->RowCount()); |
- ASSERT_EQ(0, table_model()->IndexOfTemplateURL(turl)); |
+ ASSERT_EQ(original_row_count + 1, table_model()->RowCount()); |
+ ASSERT_GE(table_model()->IndexOfTemplateURL(turl), 0); |
} |