Index: chrome/browser/about_flags_unittest.cc |
diff --git a/chrome/browser/about_flags_unittest.cc b/chrome/browser/about_flags_unittest.cc |
index 3863e6c10375b3d75434c5afdcfb4c7de3ba77a0..48afcaf89373aeb081eb5911290aa43e4dd356b0 100644 |
--- a/chrome/browser/about_flags_unittest.cc |
+++ b/chrome/browser/about_flags_unittest.cc |
@@ -14,6 +14,7 @@ |
#include "base/files/file_path.h" |
#include "base/format_macros.h" |
#include "base/path_service.h" |
+#include "base/stl_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/stringprintf.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -169,7 +170,7 @@ std::string FilePathStringTypeToString(const base::FilePath::StringType& path) { |
// Get all associated switches corresponding to defined about_flags.cc entries. |
// Does not include information about FEATURE_VALUE or |
-// FEATURE_WITH_VARIATIOSN_VALUE entries. |
+// FEATURE_WITH_VARIATIONS_VALUE entries. |
std::set<std::string> GetAllSwitchesForTesting() { |
std::set<std::string> result; |
@@ -201,6 +202,40 @@ std::set<std::string> GetAllSwitchesForTesting() { |
return result; |
} |
+// Get all associated features corresponding to defined about_flags.cc entries. |
+// Does not include information about FEATURE_WITH_VARIATIONS_VALUE entries. |
+std::set<std::string> GetAllFeaturesForTesting() { |
+ std::set<std::string> result; |
+ |
+ size_t num_entries = 0; |
+ const flags_ui::FeatureEntry* entries = |
+ testing::GetFeatureEntries(&num_entries); |
+ |
+ for (size_t i = 0; i < num_entries; ++i) { |
+ const flags_ui::FeatureEntry& entry = entries[i]; |
+ |
+ std::string enabled_feature; |
+ std::string disabled_feature; |
+ switch (entry.type) { |
+ case flags_ui::FeatureEntry::FEATURE_VALUE: |
+ enabled_feature.append(entry.feature->name); |
+ enabled_feature.append(":enabled"); |
+ disabled_feature.append(entry.feature->name); |
+ disabled_feature.append(":disabled"); |
Alexei Svitkine (slow)
2016/09/16 15:52:39
Just inline all of this into the .insert() call an
lawrencewu
2016/09/16 17:12:57
Done.
|
+ result.insert(enabled_feature); |
+ result.insert(disabled_feature); |
+ break; |
+ case flags_ui::FeatureEntry::SINGLE_VALUE: |
+ case flags_ui::FeatureEntry::SINGLE_DISABLE_VALUE: |
+ case flags_ui::FeatureEntry::MULTI_VALUE: |
+ case flags_ui::FeatureEntry::ENABLE_DISABLE_VALUE: |
+ case flags_ui::FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE: |
+ break; |
+ } |
+ } |
+ return result; |
+} |
+ |
} // anonymous namespace |
// Makes sure there are no separators in any of the entry names. |
@@ -284,7 +319,11 @@ TEST_F(AboutFlagsHistogramTest, CheckHistograms) { |
// Check that all flags in about_flags.cc have entries in login_custom_flags. |
std::set<std::string> all_switches = GetAllSwitchesForTesting(); |
- for (const std::string& flag : all_switches) { |
+ std::set<std::string> all_features = GetAllFeaturesForTesting(); |
+ std::set<std::string> all_flags = base::STLSetUnion<std::set<std::string>>( |
+ all_switches, |
+ all_features); |
Alexei Svitkine (slow)
2016/09/16 15:52:39
Given the test just wants this final merged list a
lawrencewu
2016/09/16 17:12:57
Done.
|
+ for (const std::string& flag : all_flags) { |
// Skip empty placeholders. |
if (flag.empty()) |
continue; |