OLD | NEW |
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 "base/metrics/field_trial.h" | 7 #include "base/metrics/field_trial.h" |
| 8 #include "chrome/common/variations/fieldtrial_testing_config.h" |
8 #include "components/variations/variations_associated_data.h" | 9 #include "components/variations/variations_associated_data.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
10 | 11 |
11 namespace chrome_variations { | 12 namespace chrome_variations { |
12 | 13 |
13 class VariationsUtilTest : public ::testing::Test { | 14 class VariationsUtilTest : public ::testing::Test { |
14 public: | 15 public: |
15 VariationsUtilTest() : field_trial_list_(NULL) {} | 16 VariationsUtilTest() : field_trial_list_(NULL) {} |
16 | 17 |
17 ~VariationsUtilTest() override { | 18 ~VariationsUtilTest() override { |
(...skipping 19 matching lines...) Expand all Loading... |
37 EXPECT_EQ("/", variations::GetVariationParamValue(kTrialName, "a")); | 38 EXPECT_EQ("/", variations::GetVariationParamValue(kTrialName, "a")); |
38 EXPECT_EQ(std::string(), variations::GetVariationParamValue(kTrialName, "b")); | 39 EXPECT_EQ(std::string(), variations::GetVariationParamValue(kTrialName, "b")); |
39 EXPECT_EQ(std::string(), variations::GetVariationParamValue(kTrialName, "x")); | 40 EXPECT_EQ(std::string(), variations::GetVariationParamValue(kTrialName, "x")); |
40 | 41 |
41 std::map<std::string, std::string> params; | 42 std::map<std::string, std::string> params; |
42 EXPECT_TRUE(variations::GetVariationParams(kTrialName, ¶ms)); | 43 EXPECT_TRUE(variations::GetVariationParams(kTrialName, ¶ms)); |
43 EXPECT_EQ(1U, params.size()); | 44 EXPECT_EQ(1U, params.size()); |
44 EXPECT_EQ("/", params["a"]); | 45 EXPECT_EQ("/", params["a"]); |
45 } | 46 } |
46 | 47 |
| 48 TEST_F(VariationsUtilTest, AssociateParamsFromFieldTrialConfig) { |
| 49 const FieldTrialGroupParams array_kFieldTrialConfig_params[] = {{"x", "1"}, |
| 50 {"y", "2"}}; |
| 51 |
| 52 const FieldTrialTestingGroup array_kFieldTrialConfig_groups[] = { |
| 53 {"TestStudy1", "TestGroup1", array_kFieldTrialConfig_params, 2}, |
| 54 {"TestStudy2", "TestGroup2", NULL, 0}}; |
| 55 |
| 56 const FieldTrialTestingConfig kConfig = { |
| 57 array_kFieldTrialConfig_groups, 2, |
| 58 }; |
| 59 AssociateParamsFromFieldTrialConfig(kConfig); |
| 60 |
| 61 EXPECT_EQ("1", variations::GetVariationParamValue("TestStudy1", "x")); |
| 62 EXPECT_EQ("2", variations::GetVariationParamValue("TestStudy1", "y")); |
| 63 |
| 64 std::map<std::string, std::string> params; |
| 65 EXPECT_TRUE(variations::GetVariationParams("TestStudy1", ¶ms)); |
| 66 EXPECT_EQ(2U, params.size()); |
| 67 EXPECT_EQ("1", params["x"]); |
| 68 EXPECT_EQ("2", params["y"]); |
| 69 |
| 70 EXPECT_EQ("TestGroup1", base::FieldTrialList::FindFullName("TestStudy1")); |
| 71 EXPECT_EQ("TestGroup2", base::FieldTrialList::FindFullName("TestStudy2")); |
| 72 } |
| 73 |
47 } // namespace chrome_variations | 74 } // namespace chrome_variations |
OLD | NEW |