Commit a7dbb848 authored by David Roger's avatar David Roger Committed by Commit Bot

Cleanup namespaces and includes in scoped_feature_list

TBR=phajdan.jr@chromium.org

Change-Id: I37975dc4f4db873685696955e7739305b2be8b7f
Reviewed-on: https://chromium-review.googlesource.com/579067
Commit-Queue: Ilya Sherman <isherman@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488464}
parent f73f35d0
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <algorithm> #include <algorithm>
#include <string> #include <string>
#include <utility>
#include <vector> #include <vector>
#include "base/stl_util.h" #include "base/stl_util.h"
...@@ -18,9 +19,9 @@ namespace test { ...@@ -18,9 +19,9 @@ namespace test {
namespace { namespace {
std::vector<StringPiece> GetFeatureVector( std::vector<StringPiece> GetFeatureVector(
const std::initializer_list<base::Feature>& features) { const std::initializer_list<Feature>& features) {
std::vector<StringPiece> output; std::vector<StringPiece> output;
for (const base::Feature& feature : features) { for (const Feature& feature : features) {
output.push_back(feature.name); output.push_back(feature.name);
} }
...@@ -55,7 +56,7 @@ struct Features { ...@@ -55,7 +56,7 @@ struct Features {
// the enabled and disabled features passed into the Init() method, plus any // the enabled and disabled features passed into the Init() method, plus any
// overrides merged as a result of previous calls to this function. // overrides merged as a result of previous calls to this function.
void OverrideFeatures(const std::string& features, void OverrideFeatures(const std::string& features,
base::FeatureList::OverrideState override_state, FeatureList::OverrideState override_state,
Features* merged_features) { Features* merged_features) {
std::vector<StringPiece> features_list = std::vector<StringPiece> features_list =
SplitStringPiece(features, ",", TRIM_WHITESPACE, SPLIT_WANT_NONEMPTY); SplitStringPiece(features, ",", TRIM_WHITESPACE, SPLIT_WANT_NONEMPTY);
...@@ -83,14 +84,13 @@ ScopedFeatureList::ScopedFeatureList() {} ...@@ -83,14 +84,13 @@ ScopedFeatureList::ScopedFeatureList() {}
ScopedFeatureList::~ScopedFeatureList() { ScopedFeatureList::~ScopedFeatureList() {
if (original_feature_list_) { if (original_feature_list_) {
base::FeatureList::ClearInstanceForTesting(); FeatureList::ClearInstanceForTesting();
base::FeatureList::RestoreInstanceForTesting( FeatureList::RestoreInstanceForTesting(std::move(original_feature_list_));
std::move(original_feature_list_));
} }
} }
void ScopedFeatureList::Init() { void ScopedFeatureList::Init() {
std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); std::unique_ptr<FeatureList> feature_list(new FeatureList);
feature_list->InitializeFromCommandLine(std::string(), std::string()); feature_list->InitializeFromCommandLine(std::string(), std::string());
InitWithFeatureList(std::move(feature_list)); InitWithFeatureList(std::move(feature_list));
} }
...@@ -98,26 +98,26 @@ void ScopedFeatureList::Init() { ...@@ -98,26 +98,26 @@ void ScopedFeatureList::Init() {
void ScopedFeatureList::InitWithFeatureList( void ScopedFeatureList::InitWithFeatureList(
std::unique_ptr<FeatureList> feature_list) { std::unique_ptr<FeatureList> feature_list) {
DCHECK(!original_feature_list_); DCHECK(!original_feature_list_);
original_feature_list_ = base::FeatureList::ClearInstanceForTesting(); original_feature_list_ = FeatureList::ClearInstanceForTesting();
base::FeatureList::SetInstance(std::move(feature_list)); FeatureList::SetInstance(std::move(feature_list));
} }
void ScopedFeatureList::InitFromCommandLine( void ScopedFeatureList::InitFromCommandLine(
const std::string& enable_features, const std::string& enable_features,
const std::string& disable_features) { const std::string& disable_features) {
std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); std::unique_ptr<FeatureList> feature_list(new FeatureList);
feature_list->InitializeFromCommandLine(enable_features, disable_features); feature_list->InitializeFromCommandLine(enable_features, disable_features);
InitWithFeatureList(std::move(feature_list)); InitWithFeatureList(std::move(feature_list));
} }
void ScopedFeatureList::InitWithFeatures( void ScopedFeatureList::InitWithFeatures(
const std::initializer_list<base::Feature>& enabled_features, const std::initializer_list<Feature>& enabled_features,
const std::initializer_list<base::Feature>& disabled_features) { const std::initializer_list<Feature>& disabled_features) {
Features merged_features; Features merged_features;
merged_features.enabled_feature_list = GetFeatureVector(enabled_features); merged_features.enabled_feature_list = GetFeatureVector(enabled_features);
merged_features.disabled_feature_list = GetFeatureVector(disabled_features); merged_features.disabled_feature_list = GetFeatureVector(disabled_features);
base::FeatureList* feature_list = base::FeatureList::GetInstance(); FeatureList* feature_list = FeatureList::GetInstance();
// |current_enabled_features| and |current_disabled_features| must declare out // |current_enabled_features| and |current_disabled_features| must declare out
// of if scope to avoid them out of scope before JoinString calls because // of if scope to avoid them out of scope before JoinString calls because
...@@ -126,8 +126,8 @@ void ScopedFeatureList::InitWithFeatures( ...@@ -126,8 +126,8 @@ void ScopedFeatureList::InitWithFeatures(
std::string current_enabled_features; std::string current_enabled_features;
std::string current_disabled_features; std::string current_disabled_features;
if (feature_list) { if (feature_list) {
base::FeatureList::GetInstance()->GetFeatureOverrides( FeatureList::GetInstance()->GetFeatureOverrides(&current_enabled_features,
&current_enabled_features, &current_disabled_features); &current_disabled_features);
OverrideFeatures(current_enabled_features, OverrideFeatures(current_enabled_features,
FeatureList::OverrideState::OVERRIDE_ENABLE_FEATURE, FeatureList::OverrideState::OVERRIDE_ENABLE_FEATURE,
&merged_features); &merged_features);
...@@ -141,11 +141,11 @@ void ScopedFeatureList::InitWithFeatures( ...@@ -141,11 +141,11 @@ void ScopedFeatureList::InitWithFeatures(
InitFromCommandLine(enabled, disabled); InitFromCommandLine(enabled, disabled);
} }
void ScopedFeatureList::InitAndEnableFeature(const base::Feature& feature) { void ScopedFeatureList::InitAndEnableFeature(const Feature& feature) {
InitWithFeatures({feature}, {}); InitWithFeatures({feature}, {});
} }
void ScopedFeatureList::InitAndDisableFeature(const base::Feature& feature) { void ScopedFeatureList::InitAndDisableFeature(const Feature& feature) {
InitWithFeatures({}, {feature}); InitWithFeatures({}, {feature});
} }
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
#define BASE_TEST_SCOPED_FEATURE_LIST_H_ #define BASE_TEST_SCOPED_FEATURE_LIST_H_
#include <initializer_list> #include <initializer_list>
#include <memory>
#include <string>
#include "base/feature_list.h" #include "base/feature_list.h"
...@@ -59,16 +61,16 @@ class ScopedFeatureList final { ...@@ -59,16 +61,16 @@ class ScopedFeatureList final {
// method. This is important for testing potentially unexpected feature // method. This is important for testing potentially unexpected feature
// interactions. // interactions.
void InitWithFeatures( void InitWithFeatures(
const std::initializer_list<base::Feature>& enabled_features, const std::initializer_list<Feature>& enabled_features,
const std::initializer_list<base::Feature>& disabled_features); const std::initializer_list<Feature>& disabled_features);
// Initializes and registers a FeatureList instance based on present // Initializes and registers a FeatureList instance based on present
// FeatureList and overridden with single enabled feature. // FeatureList and overridden with single enabled feature.
void InitAndEnableFeature(const base::Feature& feature); void InitAndEnableFeature(const Feature& feature);
// Initializes and registers a FeatureList instance based on present // Initializes and registers a FeatureList instance based on present
// FeatureList and overridden with single disabled feature. // FeatureList and overridden with single disabled feature.
void InitAndDisableFeature(const base::Feature& feature); void InitAndDisableFeature(const Feature& feature);
private: private:
std::unique_ptr<FeatureList> original_feature_list_; std::unique_ptr<FeatureList> original_feature_list_;
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#include "base/test/scoped_feature_list.h" #include "base/test/scoped_feature_list.h"
#include <string> #include <string>
#include <utility>
#include "base/metrics/field_trial.h" #include "base/metrics/field_trial.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -13,14 +15,12 @@ namespace test { ...@@ -13,14 +15,12 @@ namespace test {
namespace { namespace {
const base::Feature kTestFeature1{"TestFeature1", const Feature kTestFeature1{"TestFeature1", FEATURE_DISABLED_BY_DEFAULT};
base::FEATURE_DISABLED_BY_DEFAULT}; const Feature kTestFeature2{"TestFeature2", FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kTestFeature2{"TestFeature2",
base::FEATURE_DISABLED_BY_DEFAULT};
void ExpectFeatures(const std::string& enabled_features, void ExpectFeatures(const std::string& enabled_features,
const std::string& disabled_features) { const std::string& disabled_features) {
base::FeatureList* list = base::FeatureList::GetInstance(); FeatureList* list = FeatureList::GetInstance();
std::string actual_enabled_features; std::string actual_enabled_features;
std::string actual_disabled_features; std::string actual_disabled_features;
...@@ -37,18 +37,17 @@ class ScopedFeatureListTest : public testing::Test { ...@@ -37,18 +37,17 @@ class ScopedFeatureListTest : public testing::Test {
public: public:
ScopedFeatureListTest() { ScopedFeatureListTest() {
// Clear default feature list. // Clear default feature list.
std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); std::unique_ptr<FeatureList> feature_list(new FeatureList);
feature_list->InitializeFromCommandLine(std::string(), std::string()); feature_list->InitializeFromCommandLine(std::string(), std::string());
original_feature_list_ = base::FeatureList::ClearInstanceForTesting(); original_feature_list_ = FeatureList::ClearInstanceForTesting();
base::FeatureList::SetInstance(std::move(feature_list)); FeatureList::SetInstance(std::move(feature_list));
} }
~ScopedFeatureListTest() override { ~ScopedFeatureListTest() override {
// Restore feature list. // Restore feature list.
if (original_feature_list_) { if (original_feature_list_) {
base::FeatureList::ClearInstanceForTesting(); FeatureList::ClearInstanceForTesting();
base::FeatureList::RestoreInstanceForTesting( FeatureList::RestoreInstanceForTesting(std::move(original_feature_list_));
std::move(original_feature_list_));
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment