| Index: base/metrics/field_trial_unittest.cc
|
| diff --git a/base/metrics/field_trial_unittest.cc b/base/metrics/field_trial_unittest.cc
|
| index 890b3e5824e3fb39a586b247377a724b992b8de9..deae3e44ab787c76d0ccf3a2a56872dc20abd6e3 100644
|
| --- a/base/metrics/field_trial_unittest.cc
|
| +++ b/base/metrics/field_trial_unittest.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/metrics/field_trial_param_associator.h"
|
| #include "base/rand_util.h"
|
| #include "base/run_loop.h"
|
| #include "base/strings/string_number_conversions.h"
|
| @@ -1230,4 +1231,30 @@ TEST(FieldTrialListTest, DoNotAddSimulatedFieldTrialsToAllocator) {
|
| ASSERT_EQ(check_string.find("Simulated"), std::string::npos);
|
| }
|
|
|
| +TEST(FieldTrialListTest, AssociateFieldTrialParams) {
|
| + std::string trial_name("Trial1");
|
| + std::string group_name("Group1");
|
| +
|
| + // Create a field trial with some params.
|
| + FieldTrialList field_trial_list(nullptr);
|
| + FieldTrialList::CreateFieldTrial(trial_name, group_name);
|
| + std::map<std::string, std::string> params;
|
| + params["key1"] = "value1";
|
| + params["key2"] = "value2";
|
| + FieldTrialParamAssociator::GetInstance()->AssociateFieldTrialParams(
|
| + trial_name, group_name, params);
|
| + FieldTrialList::InstantiateFieldTrialAllocatorIfNeeded();
|
| +
|
| + // Clear all cached params from the associator.
|
| + FieldTrialParamAssociator::GetInstance()->ClearAllCachedParamsForTesting();
|
| +
|
| + // Check that we fetch the param from shared memory properly.
|
| + std::map<std::string, std::string> new_params;
|
| + FieldTrialParamAssociator::GetInstance()->GetFieldTrialParams(trial_name,
|
| + &new_params);
|
| + EXPECT_EQ("value1", new_params["key1"]);
|
| + EXPECT_EQ("value2", new_params["key2"]);
|
| + EXPECT_EQ(2U, new_params.size());
|
| +}
|
| +
|
| } // namespace base
|
|
|