OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/variations/variations_seed_processor.h" | 5 #include "components/variations/variations_seed_processor.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 |
9 #include <map> | 10 #include <map> |
| 11 #include <memory> |
10 #include <utility> | 12 #include <utility> |
11 #include <vector> | 13 #include <vector> |
12 | 14 |
13 #include "base/bind.h" | 15 #include "base/bind.h" |
14 #include "base/command_line.h" | 16 #include "base/command_line.h" |
15 #include "base/feature_list.h" | 17 #include "base/feature_list.h" |
16 #include "base/format_macros.h" | 18 #include "base/format_macros.h" |
17 #include "base/macros.h" | 19 #include "base/macros.h" |
18 #include "base/memory/scoped_ptr.h" | |
19 #include "base/strings/string_split.h" | 20 #include "base/strings/string_split.h" |
20 #include "base/strings/stringprintf.h" | 21 #include "base/strings/stringprintf.h" |
21 #include "base/strings/utf_string_conversions.h" | 22 #include "base/strings/utf_string_conversions.h" |
22 #include "components/variations/processed_study.h" | 23 #include "components/variations/processed_study.h" |
23 #include "components/variations/variations_associated_data.h" | 24 #include "components/variations/variations_associated_data.h" |
24 #include "testing/gtest/include/gtest/gtest.h" | 25 #include "testing/gtest/include/gtest/gtest.h" |
25 | 26 |
26 namespace variations { | 27 namespace variations { |
27 | 28 |
28 namespace { | 29 namespace { |
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
579 {nullptr, kFeatureOnByDefault.name, false, false}, | 580 {nullptr, kFeatureOnByDefault.name, false, false}, |
580 {nullptr, kFeatureOffByDefault.name, false, true}, | 581 {nullptr, kFeatureOffByDefault.name, false, true}, |
581 }; | 582 }; |
582 | 583 |
583 for (size_t i = 0; i < arraysize(test_cases); i++) { | 584 for (size_t i = 0; i < arraysize(test_cases); i++) { |
584 const auto& test_case = test_cases[i]; | 585 const auto& test_case = test_cases[i]; |
585 SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "]", i)); | 586 SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "]", i)); |
586 | 587 |
587 base::FieldTrialList field_trial_list(NULL); | 588 base::FieldTrialList field_trial_list(NULL); |
588 base::FeatureList::ClearInstanceForTesting(); | 589 base::FeatureList::ClearInstanceForTesting(); |
589 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList); | 590 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); |
590 | 591 |
591 Study study; | 592 Study study; |
592 study.set_name("Study1"); | 593 study.set_name("Study1"); |
593 study.set_default_experiment_name("B"); | 594 study.set_default_experiment_name("B"); |
594 AddExperiment("B", 0, &study); | 595 AddExperiment("B", 0, &study); |
595 | 596 |
596 Study_Experiment* experiment = AddExperiment("A", 1, &study); | 597 Study_Experiment* experiment = AddExperiment("A", 1, &study); |
597 Study_Experiment_FeatureAssociation* association = | 598 Study_Experiment_FeatureAssociation* association = |
598 experiment->mutable_feature_association(); | 599 experiment->mutable_feature_association(); |
599 if (test_case.enable_feature) | 600 if (test_case.enable_feature) |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 for (size_t i = 0; i < arraysize(test_cases); i++) { | 704 for (size_t i = 0; i < arraysize(test_cases); i++) { |
704 const auto& test_case = test_cases[i]; | 705 const auto& test_case = test_cases[i]; |
705 const int group = test_case.one_hundred_percent_group; | 706 const int group = test_case.one_hundred_percent_group; |
706 SCOPED_TRACE(base::StringPrintf( | 707 SCOPED_TRACE(base::StringPrintf( |
707 "Test[%" PRIuS "]: %s [%s] [%s] %d", i, test_case.feature.name, | 708 "Test[%" PRIuS "]: %s [%s] [%s] %d", i, test_case.feature.name, |
708 test_case.enable_features_command_line, | 709 test_case.enable_features_command_line, |
709 test_case.disable_features_command_line, static_cast<int>(group))); | 710 test_case.disable_features_command_line, static_cast<int>(group))); |
710 | 711 |
711 base::FieldTrialList field_trial_list(NULL); | 712 base::FieldTrialList field_trial_list(NULL); |
712 base::FeatureList::ClearInstanceForTesting(); | 713 base::FeatureList::ClearInstanceForTesting(); |
713 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList); | 714 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); |
714 feature_list->InitializeFromCommandLine( | 715 feature_list->InitializeFromCommandLine( |
715 test_case.enable_features_command_line, | 716 test_case.enable_features_command_line, |
716 test_case.disable_features_command_line); | 717 test_case.disable_features_command_line); |
717 | 718 |
718 Study study; | 719 Study study; |
719 study.set_name("Study1"); | 720 study.set_name("Study1"); |
720 study.set_default_experiment_name("Default"); | 721 study.set_default_experiment_name("Default"); |
721 AddExperiment(kDefaultGroup, group == DEFAULT_GROUP ? 1 : 0, &study); | 722 AddExperiment(kDefaultGroup, group == DEFAULT_GROUP ? 1 : 0, &study); |
722 | 723 |
723 Study_Experiment* feature_enable = | 724 Study_Experiment* feature_enable = |
(...skipping 21 matching lines...) Expand all Loading... |
745 // depending on the expected values. | 746 // depending on the expected values. |
746 EXPECT_FALSE(base::FieldTrialList::IsTrialActive(study.name())); | 747 EXPECT_FALSE(base::FieldTrialList::IsTrialActive(study.name())); |
747 EXPECT_EQ(test_case.expected_feature_state, | 748 EXPECT_EQ(test_case.expected_feature_state, |
748 base::FeatureList::IsEnabled(test_case.feature)); | 749 base::FeatureList::IsEnabled(test_case.feature)); |
749 EXPECT_EQ(test_case.expected_trial_activated, | 750 EXPECT_EQ(test_case.expected_trial_activated, |
750 base::FieldTrialList::IsTrialActive(study.name())); | 751 base::FieldTrialList::IsTrialActive(study.name())); |
751 } | 752 } |
752 } | 753 } |
753 | 754 |
754 } // namespace variations | 755 } // namespace variations |
OLD | NEW |