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

Side by Side Diff: chrome/browser/omnibox/omnibox_field_trial_unittest.cc

Issue 421663003: Move variations component code to variations namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fix Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/omnibox/omnibox_field_trial.h" 5 #include "chrome/browser/omnibox/omnibox_field_trial.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 12 matching lines...) Expand all
23 OmniboxFieldTrialTest() { 23 OmniboxFieldTrialTest() {
24 ResetFieldTrialList(); 24 ResetFieldTrialList();
25 } 25 }
26 26
27 void ResetFieldTrialList() { 27 void ResetFieldTrialList() {
28 // Destroy the existing FieldTrialList before creating a new one to avoid 28 // Destroy the existing FieldTrialList before creating a new one to avoid
29 // a DCHECK. 29 // a DCHECK.
30 field_trial_list_.reset(); 30 field_trial_list_.reset();
31 field_trial_list_.reset(new base::FieldTrialList( 31 field_trial_list_.reset(new base::FieldTrialList(
32 new metrics::SHA1EntropyProvider("foo"))); 32 new metrics::SHA1EntropyProvider("foo")));
33 chrome_variations::testing::ClearAllVariationParams(); 33 variations::testing::ClearAllVariationParams();
34 OmniboxFieldTrial::ActivateDynamicTrials(); 34 OmniboxFieldTrial::ActivateDynamicTrials();
35 } 35 }
36 36
37 // Creates and activates a field trial. 37 // Creates and activates a field trial.
38 static base::FieldTrial* CreateTestTrial(const std::string& name, 38 static base::FieldTrial* CreateTestTrial(const std::string& name,
39 const std::string& group_name) { 39 const std::string& group_name) {
40 base::FieldTrial* trial = base::FieldTrialList::CreateFieldTrial( 40 base::FieldTrial* trial = base::FieldTrialList::CreateFieldTrial(
41 name, group_name); 41 name, group_name);
42 trial->group(); 42 trial->group();
43 return trial; 43 return trial;
44 } 44 }
45 45
46 // Add a field trial disabling ZeroSuggest. 46 // Add a field trial disabling ZeroSuggest.
47 static void CreateDisableZeroSuggestTrial() { 47 static void CreateDisableZeroSuggestTrial() {
48 std::map<std::string, std::string> params; 48 std::map<std::string, std::string> params;
49 params[std::string(OmniboxFieldTrial::kZeroSuggestRule)] = "false"; 49 params[std::string(OmniboxFieldTrial::kZeroSuggestRule)] = "false";
50 chrome_variations::AssociateVariationParams( 50 variations::AssociateVariationParams(
51 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params); 51 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params);
52 base::FieldTrialList::CreateFieldTrial( 52 base::FieldTrialList::CreateFieldTrial(
53 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 53 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
54 } 54 }
55 55
56 // EXPECTS that demotions[match_type] exists with value expected_value. 56 // EXPECTS that demotions[match_type] exists with value expected_value.
57 static void VerifyDemotion( 57 static void VerifyDemotion(
58 const OmniboxFieldTrial::DemotionMultipliers& demotions, 58 const OmniboxFieldTrial::DemotionMultipliers& demotions,
59 AutocompleteMatchType::Type match_type, 59 AutocompleteMatchType::Type match_type,
60 float expected_value); 60 float expected_value);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 ResetFieldTrialList(); 144 ResetFieldTrialList();
145 CreateDisableZeroSuggestTrial(); 145 CreateDisableZeroSuggestTrial();
146 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestFieldTrial()); 146 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
147 } 147 }
148 148
149 { 149 {
150 SCOPED_TRACE("Bundled field trial parameters."); 150 SCOPED_TRACE("Bundled field trial parameters.");
151 ResetFieldTrialList(); 151 ResetFieldTrialList();
152 std::map<std::string, std::string> params; 152 std::map<std::string, std::string> params;
153 params[std::string(OmniboxFieldTrial::kZeroSuggestRule)] = "true"; 153 params[std::string(OmniboxFieldTrial::kZeroSuggestRule)] = "true";
154 ASSERT_TRUE(chrome_variations::AssociateVariationParams( 154 ASSERT_TRUE(variations::AssociateVariationParams(
155 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 155 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
156 base::FieldTrialList::CreateFieldTrial( 156 base::FieldTrialList::CreateFieldTrial(
157 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 157 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
158 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial()); 158 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
159 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); 159 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial());
160 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial()); 160 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial());
161 161
162 ResetFieldTrialList(); 162 ResetFieldTrialList();
163 params[std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)] = 163 params[std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)] =
164 "MostVisited"; 164 "MostVisited";
165 ASSERT_TRUE(chrome_variations::AssociateVariationParams( 165 ASSERT_TRUE(variations::AssociateVariationParams(
166 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 166 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
167 base::FieldTrialList::CreateFieldTrial( 167 base::FieldTrialList::CreateFieldTrial(
168 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 168 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
169 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial()); 169 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
170 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); 170 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial());
171 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial()); 171 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial());
172 172
173 ResetFieldTrialList(); 173 ResetFieldTrialList();
174 params[std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)] = 174 params[std::string(OmniboxFieldTrial::kZeroSuggestVariantRule)] =
175 "AfterTyping"; 175 "AfterTyping";
176 base::FieldTrialList::CreateFieldTrial( 176 base::FieldTrialList::CreateFieldTrial(
177 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 177 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
178 ASSERT_TRUE(chrome_variations::AssociateVariationParams( 178 ASSERT_TRUE(variations::AssociateVariationParams(
179 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 179 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
180 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial()); 180 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestFieldTrial());
181 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial()); 181 EXPECT_FALSE(OmniboxFieldTrial::InZeroSuggestMostVisitedFieldTrial());
182 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial()); 182 EXPECT_TRUE(OmniboxFieldTrial::InZeroSuggestAfterTypingFieldTrial());
183 } 183 }
184 } 184 }
185 185
186 TEST_F(OmniboxFieldTrialTest, GetDemotionsByTypeWithFallback) { 186 TEST_F(OmniboxFieldTrialTest, GetDemotionsByTypeWithFallback) {
187 { 187 {
188 std::map<std::string, std::string> params; 188 std::map<std::string, std::string> params;
189 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":1:*"] = 189 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":1:*"] =
190 "1:50,2:0"; 190 "1:50,2:0";
191 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":3:*"] = 191 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":3:*"] =
192 "5:100"; 192 "5:100";
193 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":*:*"] = "1:25"; 193 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":*:*"] = "1:25";
194 ASSERT_TRUE(chrome_variations::AssociateVariationParams( 194 ASSERT_TRUE(variations::AssociateVariationParams(
195 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 195 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
196 } 196 }
197 base::FieldTrialList::CreateFieldTrial( 197 base::FieldTrialList::CreateFieldTrial(
198 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 198 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
199 OmniboxFieldTrial::DemotionMultipliers demotions_by_type; 199 OmniboxFieldTrial::DemotionMultipliers demotions_by_type;
200 OmniboxFieldTrial::GetDemotionsByType( 200 OmniboxFieldTrial::GetDemotionsByType(
201 OmniboxEventProto::NTP, &demotions_by_type); 201 OmniboxEventProto::NTP, &demotions_by_type);
202 ASSERT_EQ(2u, demotions_by_type.size()); 202 ASSERT_EQ(2u, demotions_by_type.size());
203 VerifyDemotion(demotions_by_type, AutocompleteMatchType::HISTORY_URL, 0.5); 203 VerifyDemotion(demotions_by_type, AutocompleteMatchType::HISTORY_URL, 0.5);
204 VerifyDemotion(demotions_by_type, AutocompleteMatchType::HISTORY_TITLE, 0.0); 204 VerifyDemotion(demotions_by_type, AutocompleteMatchType::HISTORY_TITLE, 0.0);
(...skipping 20 matching lines...) Expand all
225 // Rule 2 has no exact matches but has fallbacks. 225 // Rule 2 has no exact matches but has fallbacks.
226 params["rule2:*:0"] = "rule2-*-0-value"; // global 226 params["rule2:*:0"] = "rule2-*-0-value"; // global
227 params["rule2:1:*"] = "rule2-1-*-value"; // NTP 227 params["rule2:1:*"] = "rule2-1-*-value"; // NTP
228 params["rule2:*:*"] = "rule2-*-*-value"; // global 228 params["rule2:*:*"] = "rule2-*-*-value"; // global
229 // Rule 3 has only a global fallback. 229 // Rule 3 has only a global fallback.
230 params["rule3:*:*"] = "rule3-*-*-value"; // global 230 params["rule3:*:*"] = "rule3-*-*-value"; // global
231 // Rule 4 has an exact match but no fallbacks. 231 // Rule 4 has an exact match but no fallbacks.
232 params["rule4:4:0"] = "rule4-4-0-value"; // OTHER 232 params["rule4:4:0"] = "rule4-4-0-value"; // OTHER
233 // Add a malformed rule to make sure it doesn't screw things up. 233 // Add a malformed rule to make sure it doesn't screw things up.
234 params["unrecognized"] = "unrecognized-value"; 234 params["unrecognized"] = "unrecognized-value";
235 ASSERT_TRUE(chrome_variations::AssociateVariationParams( 235 ASSERT_TRUE(variations::AssociateVariationParams(
236 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 236 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
237 } 237 }
238 238
239 base::FieldTrialList::CreateFieldTrial( 239 base::FieldTrialList::CreateFieldTrial(
240 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 240 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
241 241
242 if (chrome::IsInstantExtendedAPIEnabled()) { 242 if (chrome::IsInstantExtendedAPIEnabled()) {
243 // Tests with Instant Extended enabled. 243 // Tests with Instant Extended enabled.
244 // Tests for rule 1. 244 // Tests for rule 1.
245 ExpectRuleValue("rule1-4-1-value", 245 ExpectRuleValue("rule1-4-1-value",
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 params[std::string( 333 params[std::string(
334 OmniboxFieldTrial::kHUPNewScoringTypedCountScoreBucketsParam)] = 334 OmniboxFieldTrial::kHUPNewScoringTypedCountScoreBucketsParam)] =
335 "0.2:25,0.1:1001,2.3:777"; 335 "0.2:25,0.1:1001,2.3:777";
336 params[std::string( 336 params[std::string(
337 OmniboxFieldTrial::kHUPNewScoringVisitedCountRelevanceCapParam)] = "11"; 337 OmniboxFieldTrial::kHUPNewScoringVisitedCountRelevanceCapParam)] = "11";
338 params[std::string( 338 params[std::string(
339 OmniboxFieldTrial::kHUPNewScoringVisitedCountHalfLifeTimeParam)] = "31"; 339 OmniboxFieldTrial::kHUPNewScoringVisitedCountHalfLifeTimeParam)] = "31";
340 params[std::string( 340 params[std::string(
341 OmniboxFieldTrial::kHUPNewScoringVisitedCountScoreBucketsParam)] = 341 OmniboxFieldTrial::kHUPNewScoringVisitedCountScoreBucketsParam)] =
342 "5:300,0:200"; 342 "5:300,0:200";
343 ASSERT_TRUE(chrome_variations::AssociateVariationParams( 343 ASSERT_TRUE(variations::AssociateVariationParams(
344 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 344 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
345 } 345 }
346 base::FieldTrialList::CreateFieldTrial( 346 base::FieldTrialList::CreateFieldTrial(
347 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 347 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
348 348
349 HUPScoringParams scoring_params; 349 HUPScoringParams scoring_params;
350 OmniboxFieldTrial::GetExperimentalHUPScoringParams(&scoring_params); 350 OmniboxFieldTrial::GetExperimentalHUPScoringParams(&scoring_params);
351 EXPECT_TRUE(scoring_params.experimental_scoring_enabled); 351 EXPECT_TRUE(scoring_params.experimental_scoring_enabled);
352 EXPECT_EQ(56, scoring_params.typed_count_buckets.relevance_cap()); 352 EXPECT_EQ(56, scoring_params.typed_count_buckets.relevance_cap());
353 EXPECT_EQ(77, scoring_params.typed_count_buckets.half_life_days()); 353 EXPECT_EQ(77, scoring_params.typed_count_buckets.half_life_days());
(...skipping 18 matching lines...) Expand all
372 372
373 // No decay by default. 373 // No decay by default.
374 EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(7))); 374 EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(7)));
375 375
376 buckets.set_half_life_days(7); 376 buckets.set_half_life_days(7);
377 EXPECT_EQ(0.5, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(7))); 377 EXPECT_EQ(0.5, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(7)));
378 EXPECT_EQ(0.25, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(14))); 378 EXPECT_EQ(0.25, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(14)));
379 EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(0))); 379 EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(0)));
380 EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(-1))); 380 EXPECT_EQ(1.0, buckets.HalfLifeTimeDecay(base::TimeDelta::FromDays(-1)));
381 } 381 }
OLDNEW
« no previous file with comments | « chrome/browser/omnibox/omnibox_field_trial.cc ('k') | chrome/browser/prerender/prerender_field_trial.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698