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

Unified Diff: chrome/browser/omnibox/omnibox_field_trial_unittest.cc

Issue 22031002: Omnibox: Create DemoteByType Experiment (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: come cleanup, getting proper function names, etc. Created 7 years, 4 months 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
Index: chrome/browser/omnibox/omnibox_field_trial_unittest.cc
diff --git a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
index 9ccb00f2fd4c6f03dbff947e78e97d4133687fa2..71ccae93a713debfab317c23a5e48fc1c8fa0407 100644
--- a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
+++ b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
@@ -13,9 +13,7 @@
class OmniboxFieldTrialTest : public testing::Test {
public:
- OmniboxFieldTrialTest() {}
-
- static void SetUpTestCase() {
+ OmniboxFieldTrialTest() {
ResetFieldTrialList();
}
@@ -31,6 +29,7 @@ class OmniboxFieldTrialTest : public testing::Test {
delete field_trial_list_;
field_trial_list_ = new base::FieldTrialList(
new metrics::SHA1EntropyProvider("foo"));
+ chrome_variations::testing::ClearAllVariationParams();
OmniboxFieldTrial::ActivateDynamicTrials();
}
@@ -44,7 +43,6 @@ class OmniboxFieldTrialTest : public testing::Test {
}
private:
- // Needed for Activate{Static/Dynamic}Trials().
static base::FieldTrialList* field_trial_list_;
DISALLOW_COPY_AND_ASSIGN(OmniboxFieldTrialTest);
@@ -131,6 +129,39 @@ TEST_F(OmniboxFieldTrialTest, ZeroSuggestFieldTrial) {
}
}
+TEST_F(OmniboxFieldTrialTest, GetDemotionsByTypeWithFallback) {
+ // Must be the same as kBundledExperimentFieldTrialName
+ // defined in omnibox_field_trial.cc.
+ const std::string kTrialName = "OmniboxBundledExperimentV1";
+ // Must be the same as kDemoteByTypeRule defined in
+ // omnibox_field_trial.cc.
+ const std::string kRuleName = "DemoteByType";
+ {
+ std::map<std::string, std::string> params;
+ params[kRuleName + ":1"] = "1:50,2:0";
+ params[kRuleName + ":3"] = "5:100";
+ params[kRuleName + ":*"] = "1:25";
+ ASSERT_TRUE(chrome_variations::AssociateVariationParams(
+ kTrialName, "A", params));
+ }
+ base::FieldTrialList::CreateFieldTrial(kTrialName, "A");
+ OmniboxFieldTrial::DemotionMultiplierByType demotions_by_type;
+ OmniboxFieldTrial::GetDemotionsByType(
+ AutocompleteInput::NEW_TAB_PAGE, &demotions_by_type);
+ ASSERT_EQ(2u, demotions_by_type.size());
+ EXPECT_FLOAT_EQ(0.5f, demotions_by_type[AutocompleteMatchType::HISTORY_URL]);
+ EXPECT_FLOAT_EQ(0.0f,
+ demotions_by_type[AutocompleteMatchType::HISTORY_TITLE]);
Peter Kasting 2013/08/06 19:33:50 I think this expectation will still pass even if t
Mark P 2013/08/06 22:00:15 Good point. Added helper function.
+ OmniboxFieldTrial::GetDemotionsByType(
+ AutocompleteInput::HOMEPAGE, &demotions_by_type);
+ ASSERT_EQ(1u, demotions_by_type.size());
+ EXPECT_FLOAT_EQ(1.0f, demotions_by_type[AutocompleteMatchType::NAVSUGGEST]);
+ OmniboxFieldTrial::GetDemotionsByType(
+ AutocompleteInput::BLANK, &demotions_by_type);
+ ASSERT_EQ(1u, demotions_by_type.size());
+ EXPECT_FLOAT_EQ(0.25f, demotions_by_type[AutocompleteMatchType::HISTORY_URL]);
+}
+
TEST_F(OmniboxFieldTrialTest, GetValueForRuleInContext) {
// Must be the same as kBundledExperimentFieldTrialName
// defined in omnibox_field_trial.cc.

Powered by Google App Engine
This is Rietveld 408576698