Chromium Code Reviews| 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. |