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

Side by Side Diff: chrome/common/variations/variations_util_unittest.cc

Issue 2319293006: Use Study and Experiment Terminology on the C++ Side For Fieldtrials (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « chrome/common/variations/variations_util.cc ('k') | tools/variations/fieldtrial_to_struct.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/common/variations/variations_util.h" 5 #include "chrome/common/variations/variations_util.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/feature_list.h" 10 #include "base/feature_list.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 } 51 }
52 52
53 TEST_F(VariationsUtilTest, AssociateParamsFromStringWithSameTrial) { 53 TEST_F(VariationsUtilTest, AssociateParamsFromStringWithSameTrial) {
54 const std::string kTrialName = "AssociateVariationParams"; 54 const std::string kTrialName = "AssociateVariationParams";
55 const std::string kVariationsString = 55 const std::string kVariationsString =
56 "AssociateVariationParams.A:a/10/b/test,AssociateVariationParams.A:a/x"; 56 "AssociateVariationParams.A:a/10/b/test,AssociateVariationParams.A:a/x";
57 ASSERT_FALSE(AssociateParamsFromString(kVariationsString)); 57 ASSERT_FALSE(AssociateParamsFromString(kVariationsString));
58 } 58 }
59 59
60 TEST_F(VariationsUtilTest, AssociateParamsFromFieldTrialConfig) { 60 TEST_F(VariationsUtilTest, AssociateParamsFromFieldTrialConfig) {
61 const FieldTrialTestingGroupParams array_kFieldTrialConfig_params_0[] = 61 const FieldTrialTestingExperimentParams array_kFieldTrialConfig_params_0[] =
62 {{"x", "1"}, {"y", "2"}}; 62 {{"x", "1"}, {"y", "2"}};
63 const FieldTrialTestingGroup array_kFieldTrialConfig_groups_0[] = { 63 const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_0[] = {
64 {"TestGroup1", array_kFieldTrialConfig_params_0, 2, NULL, 0, NULL, 0}, 64 {"TestGroup1", array_kFieldTrialConfig_params_0, 2, NULL, 0, NULL, 0},
65 }; 65 };
66 const FieldTrialTestingGroupParams array_kFieldTrialConfig_params_1[] = 66 const FieldTrialTestingExperimentParams array_kFieldTrialConfig_params_1[] =
67 {{"x", "3"}, {"y", "4"}}; 67 {{"x", "3"}, {"y", "4"}};
68 const FieldTrialTestingGroup array_kFieldTrialConfig_groups_1[] = { 68 const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_1[] = {
69 {"TestGroup2", array_kFieldTrialConfig_params_0, 2, NULL, 0, NULL, 0}, 69 {"TestGroup2", array_kFieldTrialConfig_params_0, 2, NULL, 0, NULL, 0},
70 {"TestGroup2-2", array_kFieldTrialConfig_params_1, 2, NULL, 0, NULL, 0}, 70 {"TestGroup2-2", array_kFieldTrialConfig_params_1, 2, NULL, 0, NULL, 0},
71 }; 71 };
72 const FieldTrialTestingTrial array_kFieldTrialConfig_studies[] = { 72 const FieldTrialTestingStudy array_kFieldTrialConfig_studies[] = {
73 {"TestTrial1", array_kFieldTrialConfig_groups_0, 1}, 73 {"TestTrial1", array_kFieldTrialConfig_experiments_0, 1},
74 {"TestTrial2", array_kFieldTrialConfig_groups_1, 2}, 74 {"TestTrial2", array_kFieldTrialConfig_experiments_1, 2},
75 }; 75 };
76 const FieldTrialTestingConfig kConfig = { 76 const FieldTrialTestingConfig kConfig = {
77 array_kFieldTrialConfig_studies, 2 77 array_kFieldTrialConfig_studies, 2
78 }; 78 };
79 79
80 base::FeatureList feature_list; 80 base::FeatureList feature_list;
81 AssociateParamsFromFieldTrialConfig(kConfig, &feature_list); 81 AssociateParamsFromFieldTrialConfig(kConfig, &feature_list);
82 82
83 EXPECT_EQ("1", variations::GetVariationParamValue("TestTrial1", "x")); 83 EXPECT_EQ("1", variations::GetVariationParamValue("TestTrial1", "x"));
84 EXPECT_EQ("2", variations::GetVariationParamValue("TestTrial1", "y")); 84 EXPECT_EQ("2", variations::GetVariationParamValue("TestTrial1", "y"));
(...skipping 10 matching lines...) Expand all
95 95
96 TEST_F(VariationsUtilTest, AssociateFeaturesFromFieldTrialConfig) { 96 TEST_F(VariationsUtilTest, AssociateFeaturesFromFieldTrialConfig) {
97 const base::Feature kFeatureA{"A", base::FEATURE_DISABLED_BY_DEFAULT}; 97 const base::Feature kFeatureA{"A", base::FEATURE_DISABLED_BY_DEFAULT};
98 const base::Feature kFeatureB{"B", base::FEATURE_ENABLED_BY_DEFAULT}; 98 const base::Feature kFeatureB{"B", base::FEATURE_ENABLED_BY_DEFAULT};
99 const base::Feature kFeatureC{"C", base::FEATURE_DISABLED_BY_DEFAULT}; 99 const base::Feature kFeatureC{"C", base::FEATURE_DISABLED_BY_DEFAULT};
100 const base::Feature kFeatureD{"D", base::FEATURE_ENABLED_BY_DEFAULT}; 100 const base::Feature kFeatureD{"D", base::FEATURE_ENABLED_BY_DEFAULT};
101 101
102 const char* enable_features[] = {"A", "B"}; 102 const char* enable_features[] = {"A", "B"};
103 const char* disable_features[] = {"C", "D"}; 103 const char* disable_features[] = {"C", "D"};
104 104
105 const FieldTrialTestingGroup array_kFieldTrialConfig_groups_0[] = { 105 const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_0[] = {
106 {"TestGroup1", NULL, 0, enable_features, 2, NULL, 0}, 106 {"TestGroup1", NULL, 0, enable_features, 2, NULL, 0},
107 }; 107 };
108 const FieldTrialTestingGroup array_kFieldTrialConfig_groups_1[] = { 108 const FieldTrialTestingExperiment array_kFieldTrialConfig_experiments_1[] = {
109 {"TestGroup2", NULL, 0, NULL, 0, disable_features, 2}, 109 {"TestGroup2", NULL, 0, NULL, 0, disable_features, 2},
110 {"TestGroup2-2", NULL, 0, NULL, 0, NULL, 0}, 110 {"TestGroup2-2", NULL, 0, NULL, 0, NULL, 0},
111 }; 111 };
112 112
113 const FieldTrialTestingTrial array_kFieldTrialConfig_studies[] = { 113 const FieldTrialTestingStudy array_kFieldTrialConfig_studies[] = {
114 {"TestTrial1", array_kFieldTrialConfig_groups_0, 1}, 114 {"TestTrial1", array_kFieldTrialConfig_experiments_0, 1},
115 {"TestTrial2", array_kFieldTrialConfig_groups_1, 2}, 115 {"TestTrial2", array_kFieldTrialConfig_experiments_1, 2},
116 }; 116 };
117 117
118 const FieldTrialTestingConfig kConfig = { 118 const FieldTrialTestingConfig kConfig = {
119 array_kFieldTrialConfig_studies, 2 119 array_kFieldTrialConfig_studies, 2
120 }; 120 };
121 121
122 base::FeatureList::ClearInstanceForTesting(); 122 base::FeatureList::ClearInstanceForTesting();
123 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); 123 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
124 AssociateParamsFromFieldTrialConfig(kConfig, feature_list.get()); 124 AssociateParamsFromFieldTrialConfig(kConfig, feature_list.get());
125 base::FeatureList::SetInstance(std::move(feature_list)); 125 base::FeatureList::SetInstance(std::move(feature_list));
126 126
127 // Check the resulting feature and field trial states. Trials should not be 127 // Check the resulting feature and field trial states. Trials should not be
128 // active until their associated features are queried. 128 // active until their associated features are queried.
129 EXPECT_FALSE(base::FieldTrialList::IsTrialActive("TestTrial1")); 129 EXPECT_FALSE(base::FieldTrialList::IsTrialActive("TestTrial1"));
130 EXPECT_TRUE(base::FeatureList::IsEnabled(kFeatureA)); 130 EXPECT_TRUE(base::FeatureList::IsEnabled(kFeatureA));
131 EXPECT_TRUE(base::FeatureList::IsEnabled(kFeatureB)); 131 EXPECT_TRUE(base::FeatureList::IsEnabled(kFeatureB));
132 EXPECT_TRUE(base::FieldTrialList::IsTrialActive("TestTrial1")); 132 EXPECT_TRUE(base::FieldTrialList::IsTrialActive("TestTrial1"));
133 133
134 EXPECT_FALSE(base::FieldTrialList::IsTrialActive("TestTrial2")); 134 EXPECT_FALSE(base::FieldTrialList::IsTrialActive("TestTrial2"));
135 EXPECT_FALSE(base::FeatureList::IsEnabled(kFeatureC)); 135 EXPECT_FALSE(base::FeatureList::IsEnabled(kFeatureC));
136 EXPECT_FALSE(base::FeatureList::IsEnabled(kFeatureD)); 136 EXPECT_FALSE(base::FeatureList::IsEnabled(kFeatureD));
137 EXPECT_TRUE(base::FieldTrialList::IsTrialActive("TestTrial2")); 137 EXPECT_TRUE(base::FieldTrialList::IsTrialActive("TestTrial2"));
138 } 138 }
139 139
140 } // namespace chrome_variations 140 } // namespace chrome_variations
OLDNEW
« no previous file with comments | « chrome/common/variations/variations_util.cc ('k') | tools/variations/fieldtrial_to_struct.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698