Index: components/omnibox/omnibox_field_trial_unittest.cc |
diff --git a/components/omnibox/omnibox_field_trial_unittest.cc b/components/omnibox/omnibox_field_trial_unittest.cc |
index 9a78a67b014ad17703968931a7edc7e658a9f7b0..f77bb51d0f4e4ebfbdfc665b2146e6582006d1db 100644 |
--- a/components/omnibox/omnibox_field_trial_unittest.cc |
+++ b/components/omnibox/omnibox_field_trial_unittest.cc |
@@ -65,6 +65,15 @@ class OmniboxFieldTrialTest : public testing::Test { |
const std::string& rule, |
OmniboxEventProto::PageClassification page_classification); |
+ // EXPECTS that OmniboxFieldTrial::GetSuggestPollingStrategy returns |
+ // |expected_from_last_keystroke| and |expected_delay_ms| for the given |
+ // experiment params. |
+ void VerifySuggestPollingStrategy( |
+ const std::string& from_last_keystroke_rule_value, |
+ const std::string& polling_delay_ms_rule_value, |
+ bool expected_from_last_keystroke, |
+ int expected_delay_ms); |
+ |
private: |
scoped_ptr<base::FieldTrialList> field_trial_list_; |
@@ -92,6 +101,31 @@ void OmniboxFieldTrialTest::ExpectRuleValue( |
rule, page_classification)); |
} |
+void OmniboxFieldTrialTest::VerifySuggestPollingStrategy( |
+ const std::string& from_last_keystroke_rule_value, |
+ const std::string& polling_delay_ms_rule_value, |
+ bool expected_from_last_keystroke, |
Mark P
2014/10/22 23:03:15
this and below might as well be const
Bart N.
2014/10/23 01:42:54
We don't typically put const for params passed by
|
+ int expected_delay_ms) { |
+ ResetFieldTrialList(); |
+ std::map<std::string, std::string> params; |
+ params[std::string( |
+ OmniboxFieldTrial::kMeasureSuggestPollingDelayFromLastKeystrokeRule)] = |
+ from_last_keystroke_rule_value; |
+ params[std::string( |
+ OmniboxFieldTrial::kSuggestPollingDelayMsRule)] = |
+ polling_delay_ms_rule_value; |
+ ASSERT_TRUE(variations::AssociateVariationParams( |
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); |
+ base::FieldTrialList::CreateFieldTrial( |
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); |
+ |
+ bool from_last_keystroke; |
+ int delay_ms; |
+ OmniboxFieldTrial::GetSuggestPollingStrategy(&from_last_keystroke, &delay_ms); |
+ EXPECT_EQ(expected_from_last_keystroke, from_last_keystroke); |
+ EXPECT_EQ(expected_delay_ms, delay_ms); |
+} |
+ |
// Test if GetDisabledProviderTypes() properly parses various field trial |
// group names. |
TEST_F(OmniboxFieldTrialTest, GetDisabledProviderTypes) { |
@@ -378,3 +412,34 @@ TEST_F(OmniboxFieldTrialTest, HalfLifeTimeDecay) { |
EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(0))); |
EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(-1))); |
} |
+ |
+TEST_F(OmniboxFieldTrialTest, DisableResultsCaching) { |
+ EXPECT_FALSE(OmniboxFieldTrial::DisableResultsCaching()); |
+ |
+ { |
+ std::map<std::string, std::string> params; |
+ params[std::string(OmniboxFieldTrial::kDisableResultsCachingRule)] = "true"; |
+ ASSERT_TRUE(variations::AssociateVariationParams( |
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); |
+ base::FieldTrialList::CreateFieldTrial( |
+ OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); |
+ |
+ EXPECT_TRUE(OmniboxFieldTrial::DisableResultsCaching()); |
+ } |
+} |
+ |
+TEST_F(OmniboxFieldTrialTest, GetSuggestPollingStrategy) { |
Mark P
2014/10/22 23:03:15
The function this test uses VerifySuggestPollingSt
Bart N.
2014/10/23 01:42:53
Done.
|
+ // Invalid params. |
+ VerifySuggestPollingStrategy( |
+ "", "", false, |
+ OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs); |
+ VerifySuggestPollingStrategy( |
+ "foo", "-1", false, |
+ OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs); |
+ VerifySuggestPollingStrategy( |
+ "TRUE", "xyz", false, |
+ OmniboxFieldTrial::kDefaultMinimumTimeBetweenSuggestQueriesMs); |
+ |
+ // Valid params. |
+ VerifySuggestPollingStrategy("true", "50", true, 50); |
+} |
Mark P
2014/10/22 23:03:15
Please add a test for the default values of this p
Bart N.
2014/10/23 01:42:54
Done.
|