Index: chrome/common/variations/variations_util_unittest.cc |
diff --git a/chrome/common/variations/variations_util_unittest.cc b/chrome/common/variations/variations_util_unittest.cc |
index 6b4f9ec6db706aecd33faaebdd2b27f9b0165ecb..4b44f959b3ea7bb71f64e0cd1706a256c2bc1c41 100644 |
--- a/chrome/common/variations/variations_util_unittest.cc |
+++ b/chrome/common/variations/variations_util_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/common/variations/variations_util.h" |
#include "base/metrics/field_trial.h" |
+#include "chrome/common/variations/fieldtrial_testing_config.h" |
#include "components/variations/variations_associated_data.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -44,4 +45,44 @@ TEST_F(VariationsUtilTest, AssociateParamsFromString) { |
EXPECT_EQ("/", params["a"]); |
} |
+TEST_F(VariationsUtilTest, AssociateParamsFromFieldTrialConfig) { |
+ const FieldTrialGroupParams array_kFieldTrialConfig_params[] = { |
+ {"x", "1"}, |
+ {"y", "2"} |
+ }; |
+ |
+ const FieldTrialTestingGroup array_kFieldTrialConfig_groups[] = { |
+ { |
+ "TestStudy1", |
+ "TestGroup1", |
+ array_kFieldTrialConfig_params, |
+ 2 |
+ }, |
+ { |
+ "TestStudy2", |
+ "TestGroup2", |
+ NULL, |
+ 0 |
+ } |
+ }; |
+ |
+ const FieldTrialTestingConfig kConfig = { |
+ array_kFieldTrialConfig_groups, |
+ 2, |
+ }; |
+ ASSERT_TRUE(AssociateParamsFromFieldTrialConfig(kConfig)); |
+ |
+ EXPECT_EQ("1", variations::GetVariationParamValue("TestStudy1", "x")); |
+ EXPECT_EQ("2", variations::GetVariationParamValue("TestStudy1", "y")); |
+ |
+ std::map<std::string, std::string> params; |
+ EXPECT_TRUE(variations::GetVariationParams("TestStudy1", ¶ms)); |
+ EXPECT_EQ(2U, params.size()); |
+ EXPECT_EQ("1", params["x"]); |
+ EXPECT_EQ("2", params["y"]); |
+ |
+ EXPECT_EQ("TestGroup1", base::FieldTrialList::FindFullName("TestStudy1")); |
+ EXPECT_EQ("TestGroup2", base::FieldTrialList::FindFullName("TestStudy2")); |
+} |
+ |
} // namespace chrome_variations |