| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/policy/policy_map.h" |
| |
| #include "base/memory/scoped_ptr.h" |
| #include "policy/configuration_policy_type.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace policy { |
| |
| TEST(PolicyMapTest, SetAndGet) { |
| PolicyMap map; |
| map.Set(kPolicyHomepageLocation, Value::CreateStringValue("aaa")); |
| StringValue expected("aaa"); |
| EXPECT_TRUE(expected.Equals(map.Get(kPolicyHomepageLocation))); |
| map.Set(kPolicyHomepageLocation, Value::CreateStringValue("bbb")); |
| StringValue expected_b("bbb"); |
| EXPECT_TRUE(expected_b.Equals(map.Get(kPolicyHomepageLocation))); |
| } |
| |
| TEST(PolicyMapTest, Equals) { |
| PolicyMap a; |
| a.Set(kPolicyHomepageLocation, Value::CreateStringValue("aaa")); |
| PolicyMap a2; |
| a2.Set(kPolicyHomepageLocation, Value::CreateStringValue("aaa")); |
| PolicyMap b; |
| b.Set(kPolicyHomepageLocation, Value::CreateStringValue("bbb")); |
| PolicyMap c; |
| c.Set(kPolicyHomepageLocation, Value::CreateStringValue("aaa")); |
| c.Set(kPolicyHomepageIsNewTabPage, Value::CreateBooleanValue(true)); |
| EXPECT_FALSE(a.Equals(b)); |
| EXPECT_FALSE(b.Equals(a)); |
| EXPECT_FALSE(a.Equals(c)); |
| EXPECT_FALSE(c.Equals(a)); |
| EXPECT_TRUE(a.Equals(a2)); |
| EXPECT_TRUE(a2.Equals(a)); |
| PolicyMap empty1; |
| PolicyMap empty2; |
| EXPECT_TRUE(empty1.Equals(empty2)); |
| EXPECT_TRUE(empty2.Equals(empty1)); |
| EXPECT_FALSE(empty1.Equals(a)); |
| EXPECT_FALSE(a.Equals(empty1)); |
| } |
| |
| TEST(PolicyMapTest, Swap) { |
| PolicyMap a; |
| a.Set(kPolicyHomepageLocation, Value::CreateStringValue("aaa")); |
| PolicyMap b; |
| b.Set(kPolicyHomepageLocation, Value::CreateStringValue("bbb")); |
| b.Set(kPolicyHomepageIsNewTabPage, Value::CreateBooleanValue(true)); |
| a.Swap(&b); |
| StringValue expected("bbb"); |
| EXPECT_TRUE(expected.Equals(a.Get(kPolicyHomepageLocation))); |
| FundamentalValue expected_bool(true); |
| EXPECT_TRUE(expected_bool.Equals(a.Get(kPolicyHomepageIsNewTabPage))); |
| StringValue expected_a("aaa"); |
| EXPECT_TRUE(expected_a.Equals(b.Get(kPolicyHomepageLocation))); |
| |
| b.Clear(); |
| a.Swap(&b); |
| PolicyMap empty; |
| EXPECT_TRUE(a.Equals(empty)); |
| EXPECT_FALSE(b.Equals(empty)); |
| } |
| |
| } // namespace policy |