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..40d93f0bb5db7db80192b5ade53150dc01a30206 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,30 @@ 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, |
+ }; |
+ 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 |