Index: components/policy/core/common/policy_map_unittest.cc |
diff --git a/components/policy/core/common/policy_map_unittest.cc b/components/policy/core/common/policy_map_unittest.cc |
index b40aa1d1c6844b853464203f1fa80ad0cb6e8146..f29f2b3248ff5648608e7d262ba3db5cd2ee7f2a 100644 |
--- a/components/policy/core/common/policy_map_unittest.cc |
+++ b/components/policy/core/common/policy_map_unittest.cc |
@@ -6,6 +6,7 @@ |
#include <utility> |
+#include "base/bind.h" |
#include "base/callback.h" |
#include "base/memory/ptr_util.h" |
#include "base/memory/weak_ptr.h" |
@@ -69,7 +70,7 @@ TEST_F(PolicyMapTest, SetAndGet) { |
SetPolicy(&map, kTestPolicyName1, CreateExternalDataFetcher("dummy")); |
EXPECT_FALSE(map.GetValue(kTestPolicyName1)); |
const PolicyMap::Entry* entry = map.Get(kTestPolicyName1); |
- ASSERT_TRUE(entry != NULL); |
+ ASSERT_TRUE(entry != nullptr); |
EXPECT_EQ(POLICY_LEVEL_MANDATORY, entry->level); |
EXPECT_EQ(POLICY_SCOPE_USER, entry->scope); |
EXPECT_EQ(POLICY_SOURCE_CLOUD, entry->source); |
@@ -80,7 +81,7 @@ TEST_F(PolicyMapTest, SetAndGet) { |
POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, nullptr); |
EXPECT_FALSE(map.GetValue(kTestPolicyName1)); |
entry = map.Get(kTestPolicyName1); |
- ASSERT_TRUE(entry != NULL); |
+ ASSERT_TRUE(entry != nullptr); |
EXPECT_EQ(POLICY_LEVEL_RECOMMENDED, entry->level); |
EXPECT_EQ(POLICY_SCOPE_MACHINE, entry->scope); |
EXPECT_EQ(POLICY_SOURCE_ENTERPRISE_DEFAULT, entry->source); |
@@ -335,4 +336,35 @@ TEST_F(PolicyMapTest, LoadFromSetsLevelScopeAndSource) { |
EXPECT_TRUE(loaded.Equals(expected)); |
} |
+bool IsMandatory(const PolicyMap::PolicyMapType::const_iterator iter) { |
+ return iter->second.level == POLICY_LEVEL_MANDATORY; |
+} |
+ |
+TEST_F(PolicyMapTest, EraseNonmatching) { |
+ PolicyMap a; |
+ a.Set(kTestPolicyName1, |
+ POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_USER, |
+ POLICY_SOURCE_CLOUD, |
+ base::WrapUnique(new base::StringValue("google.com")), |
+ nullptr); |
+ a.Set(kTestPolicyName2, |
+ POLICY_LEVEL_RECOMMENDED, |
+ POLICY_SCOPE_MACHINE, |
+ POLICY_SOURCE_CLOUD, |
+ base::WrapUnique(new base::FundamentalValue(true)), |
+ nullptr); |
+ |
+ a.EraseNonmatching(base::Bind(&IsMandatory)); |
+ |
+ PolicyMap b; |
+ b.Set(kTestPolicyName1, |
+ POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_USER, |
+ POLICY_SOURCE_CLOUD, |
+ base::WrapUnique(new base::StringValue("google.com")), |
+ nullptr); |
+ EXPECT_TRUE(a.Equals(b)); |
+} |
+ |
} // namespace policy |