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

Unified Diff: chrome/browser/protector/default_search_provider_change_browsertest.cc

Issue 11493003: Remove the protector service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix implicit ExtensionSystem -> TemplateURLService dependency Created 8 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/protector/default_search_provider_change.cc ('k') | chrome/browser/protector/histograms.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/protector/default_search_provider_change_browsertest.cc
diff --git a/chrome/browser/protector/default_search_provider_change_browsertest.cc b/chrome/browser/protector/default_search_provider_change_browsertest.cc
deleted file mode 100644
index df839d43846d127d5fc79cfeb478342096faaa87..0000000000000000000000000000000000000000
--- a/chrome/browser/protector/default_search_provider_change_browsertest.cc
+++ /dev/null
@@ -1,677 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/memory/scoped_ptr.h"
-#include "base/metrics/histogram.h"
-#include "base/metrics/histogram_samples.h"
-#include "base/metrics/statistics_recorder.h"
-#include "base/message_loop.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/protector/base_setting_change.h"
-#include "chrome/browser/protector/histograms.h"
-#include "chrome/browser/protector/mock_protector_service.h"
-#include "chrome/browser/protector/protector_service_factory.h"
-#include "chrome/browser/search_engines/template_url.h"
-#include "chrome/browser/search_engines/template_url_prepopulate_data.h"
-#include "chrome/browser/search_engines/template_url_service.h"
-#include "chrome/browser/search_engines/template_url_service_factory.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "googleurl/src/gurl.h"
-#include "grit/generated_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-
-using ::testing::Invoke;
-using ::testing::NiceMock;
-using ::testing::Return;
-
-namespace protector {
-
-namespace {
-
-// Keyword names and URLs used for testing.
-const string16 example_info = ASCIIToUTF16("Example.info");
-const string16 example_info_long = ASCIIToUTF16("ExampleSearchEngine.info");
-const std::string http_example_info = "http://example.info/?q={searchTerms}";
-const std::string http_example_info_no_search_terms =
- "http://example.net/";
-const std::string example_info_domain = "example.info";
-const string16 example_com = ASCIIToUTF16("Example.com");
-const string16 example_com_long = ASCIIToUTF16("ExampleSearchEngine.com");
-const std::string http_example_com = "http://example.com/?q={searchTerms}";
-const std::string http_example_com_no_search_terms =
- "http://example.com/";
-const std::string example_com_domain = "example.com";
-const string16 example_net = ASCIIToUTF16("Example.net");
-const std::string http_example_net = "http://example.net/?q={searchTerms}";
-const std::string example_domain = "example.net";
-
-const BaseSettingChange::DisplayName kNoDisplayName(
- BaseSettingChange::kDefaultNamePriority, string16());
-
-} // namespace
-
-class DefaultSearchProviderChangeTest : public InProcessBrowserTest {
- public:
- virtual void SetUpOnMainThread() OVERRIDE {
- Profile* profile = browser()->profile();
- mock_protector_service_ = MockProtectorService::BuildForProfile(profile);
-
- // Ensure that TemplateURLService is loaded.
- turl_service_ = TemplateURLServiceFactory::GetForProfile(profile);
- ui_test_utils::WaitForTemplateURLServiceToLoad(turl_service_);
-
- prepopulated_url_.reset(
- TemplateURLPrepopulateData::GetPrepopulatedDefaultSearch(NULL));
- }
-
- virtual void CleanUpOnMainThread() OVERRIDE {
- EXPECT_CALL(*mock_protector_service_, Shutdown());
- }
-
- TemplateURL* MakeTemplateURL(const string16& short_name,
- const string16& keyword,
- const std::string& url) {
- TemplateURLData data;
- data.short_name = short_name;
- data.SetKeyword(keyword);
- data.SetURL(url);
- return new TemplateURL(browser()->profile(), data);
- }
-
- TemplateURL* FindTemplateURL(const std::string& search_url) {
- TemplateURLService::TemplateURLVector urls =
- turl_service_->GetTemplateURLs();
- for (TemplateURLService::TemplateURLVector::const_iterator
- it = urls.begin(); it != urls.end(); ++it) {
- if ((*it)->url() == search_url)
- return *it;
- }
- return NULL;
- }
-
- void AddAndSetDefault(TemplateURL* turl) {
- turl_service_->Add(turl);
- turl_service_->SetDefaultSearchProvider(turl);
- }
-
- string16 GetBubbleMessage(const string16& short_name = string16()) {
- return short_name.empty() ?
- l10n_util::GetStringUTF16(IDS_SEARCH_ENGINE_CHANGE_MESSAGE) :
- l10n_util::GetStringFUTF16(IDS_SEARCH_ENGINE_CHANGE_NO_BACKUP_MESSAGE,
- short_name);
- }
-
- string16 GetChangeSearchButtonText(const string16& short_name = string16()) {
- return short_name.empty() ?
- l10n_util::GetStringUTF16(IDS_CHANGE_SEARCH_ENGINE_NO_NAME) :
- l10n_util::GetStringFUTF16(IDS_CHANGE_SEARCH_ENGINE, short_name);
- }
-
- string16 GetKeepSearchButtonText(const string16& short_name = string16()) {
- return short_name.empty() ?
- l10n_util::GetStringUTF16(IDS_KEEP_SETTING) :
- l10n_util::GetStringFUTF16(IDS_KEEP_SEARCH_ENGINE, short_name);
- }
-
- string16 GetOpenSettingsButtonText() {
- return l10n_util::GetStringUTF16(IDS_SELECT_SEARCH_ENGINE);
- }
-
- void ExpectSettingsOpened(const std::string& subpage) {
- GURL settings_url(chrome::kChromeUISettingsURL + subpage);
- EXPECT_CALL(*mock_protector_service_, OpenTab(settings_url, browser()));
- }
-
- void ExpectHistogramCount(const std::string& name,
- base::HistogramBase::Sample sample,
- base::Histogram::Count expected_count) {
- base::Histogram* histogram = base::StatisticsRecorder::FindHistogram(name);
- EXPECT_TRUE(histogram != NULL);
- scoped_ptr<base::HistogramSamples> samples(histogram->SnapshotSamples());
- EXPECT_EQ(expected_count, samples->GetCount(sample))
- << "Invalid histogram " << name << " count for sample: " << sample;
- }
-
- protected:
- MockProtectorService* mock_protector_service_;
- TemplateURLService* turl_service_;
- scoped_ptr<TemplateURL> prepopulated_url_;
-};
-
-// Tests below call both Apply and Discard on a single change instance.
-// This is test-only and should not be happening in real code.
-
-// |backup_url| in further test cases is owned by DefaultSearchProviderChange
-// instance, while other TemplateURLs are owned by TemplateURLService.
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest, BackupValid) {
- // Most common case: current default search provider exists, backup is valid,
- // they are different.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"), http_example_info);
- int backup_histogram_id = protector::GetSearchProviderHistogramID(backup_url);
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
- int current_histogram_id =
- protector::GetSearchProviderHistogramID(current_url);
-
- Profile* profile = browser()->profile();
- turl_service_->Add(new TemplateURL(profile, backup_url->data()));
- AddAndSetDefault(current_url);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify that backup is active.
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderHijacked,
- current_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- backup_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(), change->GetBubbleMessage());
- EXPECT_EQ(GetChangeSearchButtonText(example_com),
- change->GetApplyButtonText());
- EXPECT_EQ(GetKeepSearchButtonText(example_info),
- change->GetDiscardButtonText());
- EXPECT_EQ(example_com_domain, change->GetNewSettingURL().host());
- EXPECT_EQ(example_com, change->GetApplyDisplayName().second);
-
- // Discard does nothing - backup was already active.
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
- ExpectHistogramCount(kProtectorHistogramSearchProviderDiscarded,
- current_histogram_id, 1);
-
- // Verify that Apply switches back to |current_url|.
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_com),
- turl_service_->GetDefaultSearchProvider());
- ExpectHistogramCount(kProtectorHistogramSearchProviderApplied,
- current_histogram_id, 1);
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest, BackupValidLongNames) {
- // Verify that search provider names that are too long are not displayed.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"), http_example_info);
- TemplateURL* backup_url_long =
- MakeTemplateURL(example_info_long, ASCIIToUTF16("a"), http_example_info);
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
- TemplateURL* current_url_long =
- MakeTemplateURL(example_com_long, ASCIIToUTF16("b"), http_example_com);
-
- Profile* profile = browser()->profile();
- {
- // Backup name too long.
- turl_service_->Add(new TemplateURL(profile, backup_url_long->data()));
- AddAndSetDefault(current_url);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, backup_url_long));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(), change->GetBubbleMessage());
- EXPECT_EQ(GetChangeSearchButtonText(example_com),
- change->GetApplyButtonText());
- EXPECT_EQ(GetKeepSearchButtonText(), change->GetDiscardButtonText());
- EXPECT_EQ(example_com_domain, change->GetNewSettingURL().host());
- EXPECT_EQ(example_com, change->GetApplyDisplayName().second);
- }
-
- {
- // Current name too long.
- turl_service_->Add(new TemplateURL(profile, backup_url->data()));
- AddAndSetDefault(current_url_long);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url_long, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(), change->GetBubbleMessage());
- EXPECT_EQ(GetChangeSearchButtonText(), change->GetApplyButtonText());
- EXPECT_EQ(GetKeepSearchButtonText(example_info),
- change->GetDiscardButtonText());
- EXPECT_EQ(example_com_domain, change->GetNewSettingURL().host());
- EXPECT_EQ(kNoDisplayName, change->GetApplyDisplayName());
- }
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest, BackupInvalid) {
- // Backup is invalid, current search provider exists, fallback to the
- // prepopulated default search, which exists among keywords.
- int prepopulated_histogram_id =
- protector::GetSearchProviderHistogramID(prepopulated_url_.get());
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
- int current_histogram_id =
- protector::GetSearchProviderHistogramID(current_url);
-
- AddAndSetDefault(current_url);
-
- // Prepopulated default search must exist.
- ASSERT_TRUE(FindTemplateURL(prepopulated_url_->url()));
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, NULL));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(browser()->profile()));
-
- // Verify that the prepopulated default search is active.
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderCorrupt,
- current_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderFallback,
- prepopulated_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(prepopulated_url_->short_name()),
- change->GetBubbleMessage());
- EXPECT_EQ(GetChangeSearchButtonText(example_com),
- change->GetApplyButtonText());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetDiscardButtonText());
-
- // Verify that search engine settings are opened by Discard.
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify that Apply switches back to |current_url|.
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_com),
- turl_service_->GetDefaultSearchProvider());
-}
-
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- BackupValidCannotBeDefault) {
- // Backup is a valid keyword but cannot be the default search provider (has no
- // search terms), current search provider exists, fallback to the prepopulated
- // default search, which exists among keywords.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"),
- http_example_info_no_search_terms);
- int prepopulated_histogram_id =
- protector::GetSearchProviderHistogramID(prepopulated_url_.get());
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
- int current_histogram_id =
- protector::GetSearchProviderHistogramID(current_url);
-
- AddAndSetDefault(current_url);
-
- // Prepopulated default search must exist.
- ASSERT_TRUE(FindTemplateURL(prepopulated_url_->url()));
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(browser()->profile()));
-
- // Verify that the prepopulated default search is active.
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderHijacked,
- current_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderFallback,
- prepopulated_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(prepopulated_url_->short_name()),
- change->GetBubbleMessage());
- EXPECT_EQ(GetChangeSearchButtonText(example_com),
- change->GetApplyButtonText());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetDiscardButtonText());
-
- // Verify that search engine settings are opened by Discard.
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify that Apply switches back to |current_url|.
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_com),
- turl_service_->GetDefaultSearchProvider());
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- BackupInvalidFallbackRemoved) {
- // Backup is invalid, current search provider exists, fallback to the
- // prepopulated default search, which was removed from keywords (will be
- // added).
- int prepopulated_histogram_id =
- protector::GetSearchProviderHistogramID(prepopulated_url_.get());
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
- int current_histogram_id =
- protector::GetSearchProviderHistogramID(current_url);
-
- AddAndSetDefault(current_url);
-
- TemplateURL* prepopulated_default = FindTemplateURL(prepopulated_url_->url());
- // Prepopulated default search must exist, remove it.
- ASSERT_TRUE(prepopulated_default);
- turl_service_->Remove(prepopulated_default);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, NULL));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(browser()->profile()));
-
- // Verify that the prepopulated default search is active.
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderCorrupt,
- current_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderFallback,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderMissing,
- prepopulated_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(prepopulated_url_->short_name()),
- change->GetBubbleMessage());
- EXPECT_EQ(GetChangeSearchButtonText(example_com),
- change->GetApplyButtonText());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetDiscardButtonText());
- EXPECT_EQ(GURL(), change->GetNewSettingURL());
- EXPECT_EQ(example_com, change->GetApplyDisplayName().second);
-
- // Verify that search engine settings are opened by Discard.
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify that Apply switches back to |current_url|.
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_com),
- turl_service_->GetDefaultSearchProvider());
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- BackupValidCurrentRemoved) {
- // Backup is valid, no current search provider.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"), http_example_info);
- int backup_histogram_id = protector::GetSearchProviderHistogramID(backup_url);
-
- Profile* profile = browser()->profile();
- turl_service_->Add(new TemplateURL(profile, backup_url->data()));
- turl_service_->SetDefaultSearchProvider(NULL);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(NULL, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify that backup is active.
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderHijacked,
- protector::GetSearchProviderHistogramID(NULL), 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- backup_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(), change->GetBubbleMessage());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetApplyButtonText());
- EXPECT_EQ(GetKeepSearchButtonText(example_info),
- change->GetDiscardButtonText());
- EXPECT_EQ(GURL(), change->GetNewSettingURL());
- EXPECT_EQ(kNoDisplayName, change->GetApplyDisplayName());
-
- // Discard does nothing - backup was already active.
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify that search engine settings are opened by Apply (no other changes).
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- BackupValidCurrentCannotBeDefault) {
- // Backup is valid, current search provider has no search terms.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"), http_example_info);
- int backup_histogram_id = protector::GetSearchProviderHistogramID(backup_url);
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"),
- http_example_com_no_search_terms);
- int current_histogram_id =
- protector::GetSearchProviderHistogramID(current_url);
-
- Profile* profile = browser()->profile();
- turl_service_->Add(new TemplateURL(profile, backup_url->data()));
- // TODO(ivankr): this may become unsupported soon.
- AddAndSetDefault(current_url);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify that backup is active.
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderHijacked,
- current_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- backup_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(), change->GetBubbleMessage());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetApplyButtonText());
- EXPECT_EQ(GetKeepSearchButtonText(example_info),
- change->GetDiscardButtonText());
- EXPECT_EQ(GURL(), change->GetNewSettingURL());
- EXPECT_EQ(kNoDisplayName, change->GetApplyDisplayName());
-
- // Discard does nothing - backup was already active.
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify that search engine settings are opened by Apply (no other changes).
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- BackupInvalidCurrentRemoved) {
- // Backup is invalid, no current search provider, fallback to the prepopulated
- // default search.
- int prepopulated_histogram_id =
- protector::GetSearchProviderHistogramID(prepopulated_url_.get());
- turl_service_->SetDefaultSearchProvider(NULL);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(NULL, NULL));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(browser()->profile()));
-
- // Verify that the prepopulated default search is active.
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderCorrupt,
- protector::GetSearchProviderHistogramID(NULL), 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderFallback,
- prepopulated_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(prepopulated_url_->short_name()),
- change->GetBubbleMessage());
- EXPECT_EQ(string16(), change->GetApplyButtonText());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetDiscardButtonText());
- EXPECT_EQ(GURL(), change->GetNewSettingURL());
- EXPECT_EQ(kNoDisplayName, change->GetApplyDisplayName());
-
- // Verify that search engine settings are opened by Discard.
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(prepopulated_url_->url()),
- turl_service_->GetDefaultSearchProvider());
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- BackupInvalidFallbackSameAsCurrent) {
- // Backup is invalid, fallback to the prepopulated default search which is
- // same as the current search provider.
- int prepopulated_histogram_id =
- protector::GetSearchProviderHistogramID(prepopulated_url_.get());
- TemplateURL* current_url = turl_service_->GetDefaultSearchProvider();
-
- // Verify that current search provider is same as the prepopulated default.
- ASSERT_TRUE(current_url);
- ASSERT_EQ(current_url, FindTemplateURL(prepopulated_url_->url()));
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, NULL));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(browser()->profile()));
-
- // Verify that the default search has not changed.
- EXPECT_EQ(current_url, turl_service_->GetDefaultSearchProvider());
-
- // Verify histograms.
- ExpectHistogramCount(kProtectorHistogramSearchProviderCorrupt,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderRestored,
- prepopulated_histogram_id, 1);
- ExpectHistogramCount(kProtectorHistogramSearchProviderFallback,
- prepopulated_histogram_id, 1);
-
- // Verify text messages.
- EXPECT_EQ(GetBubbleMessage(prepopulated_url_->short_name()),
- change->GetBubbleMessage());
- EXPECT_EQ(string16(), change->GetApplyButtonText());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetDiscardButtonText());
- EXPECT_EQ(GURL(), change->GetNewSettingURL());
- EXPECT_EQ(current_url->short_name(), change->GetApplyDisplayName().second);
-
- // Verify that search engine settings are opened by Discard.
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Discard(browser());
- EXPECT_EQ(current_url, turl_service_->GetDefaultSearchProvider());
-}
-
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- DefaultSearchProviderChangedByUser) {
- // Default search provider is changed by user while the error is active.
- // Setup is the same as in BackupValid test case.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"), http_example_info);
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
- TemplateURL* new_url =
- MakeTemplateURL(example_net, ASCIIToUTF16("c"), http_example_net);
-
- Profile* profile = browser()->profile();
- turl_service_->Add(new TemplateURL(profile, backup_url->data()));
- AddAndSetDefault(current_url);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify that backup is active.
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Verify that changing search provider externally dismissed the change.
- EXPECT_CALL(*mock_protector_service_, DismissChange(change.get()));
- AddAndSetDefault(new_url);
-}
-
-IN_PROC_BROWSER_TEST_F(DefaultSearchProviderChangeTest,
- CurrentSearchProviderRemovedByUser) {
- // Current search provider is removed by user while the error is active.
- // Setup is the same as in BackupValid test case.
- TemplateURL* backup_url =
- MakeTemplateURL(example_info, ASCIIToUTF16("a"), http_example_info);
- TemplateURL* current_url =
- MakeTemplateURL(example_com, ASCIIToUTF16("b"), http_example_com);
-
- Profile* profile = browser()->profile();
- turl_service_->Add(new TemplateURL(profile, backup_url->data()));
- AddAndSetDefault(current_url);
-
- scoped_ptr<BaseSettingChange> change(
- CreateDefaultSearchProviderChange(current_url, backup_url));
- ASSERT_TRUE(change.get());
- ASSERT_TRUE(change->Init(profile));
-
- // Verify that backup is active.
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- turl_service_->Remove(current_url);
-
- // Verify that text messages altered after removing |current_url|.
- EXPECT_EQ(GetBubbleMessage(), change->GetBubbleMessage());
- EXPECT_EQ(GetOpenSettingsButtonText(), change->GetApplyButtonText());
- EXPECT_EQ(GetKeepSearchButtonText(example_info),
- change->GetDiscardButtonText());
- EXPECT_EQ(GURL(), change->GetNewSettingURL());
- EXPECT_EQ(kNoDisplayName, change->GetApplyDisplayName());
-
- // Verify that search engine settings are opened by Apply.
- ExpectSettingsOpened(chrome::kSearchEnginesSubPage);
- change->Apply(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-
- // Discard does nothing - backup was already active.
- change->Discard(browser());
- EXPECT_EQ(FindTemplateURL(http_example_info),
- turl_service_->GetDefaultSearchProvider());
-}
-
-} // namespace protector
« no previous file with comments | « chrome/browser/protector/default_search_provider_change.cc ('k') | chrome/browser/protector/histograms.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698