| 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
|
|
|