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[] = { |
| 50 {"x", "1"}, |
| 51 {"y", "2"} |
| 52 }; |
| 53 |
| 54 const FieldTrialTestingGroup array_kFieldTrialConfig_groups[] = { |
| 55 { |
| 56 "TestStudy1", |
| 57 "TestGroup1", |
| 58 array_kFieldTrialConfig_params, |
| 59 2 |
| 60 }, |
| 61 { |
| 62 "TestStudy2", |
| 63 "TestGroup2", |
| 64 NULL, |
| 65 0 |
| 66 } |
| 67 }; |
| 68 |
| 69 const FieldTrialTestingConfig kConfig = { |
| 70 array_kFieldTrialConfig_groups, |
| 71 2, |
| 72 }; |
| 73 ASSERT_TRUE(AssociateParamsFromFieldTrialConfig(kConfig)); |
| 74 |
| 75 EXPECT_EQ("1", variations::GetVariationParamValue("TestStudy1", "x")); |
| 76 EXPECT_EQ("2", variations::GetVariationParamValue("TestStudy1", "y")); |
| 77 |
| 78 std::map<std::string, std::string> params; |
| 79 EXPECT_TRUE(variations::GetVariationParams("TestStudy1", ¶ms)); |
| 80 EXPECT_EQ(2U, params.size()); |
| 81 EXPECT_EQ("1", params["x"]); |
| 82 EXPECT_EQ("2", params["y"]); |
| 83 |
| 84 EXPECT_EQ("TestGroup1", base::FieldTrialList::FindFullName("TestStudy1")); |
| 85 EXPECT_EQ("TestGroup2", base::FieldTrialList::FindFullName("TestStudy2")); |
| 86 } |
| 87 |
47 } // namespace chrome_variations | 88 } // namespace chrome_variations |
OLD | NEW |