| Index: chrome/browser/extensions/management_policy_unittest.cc
|
| diff --git a/chrome/browser/extensions/management_policy_unittest.cc b/chrome/browser/extensions/management_policy_unittest.cc
|
| index 1f1d86e85e890cdad0dc5db3b2d947c4f42f08d0..0ac3f4b0c15fcb9ef4427fbabb679be7af9994f8 100644
|
| --- a/chrome/browser/extensions/management_policy_unittest.cc
|
| +++ b/chrome/browser/extensions/management_policy_unittest.cc
|
| @@ -19,6 +19,9 @@ class ManagementPolicyTest : public testing::Test {
|
| no_load_.SetProhibitedActions(TestProvider::PROHIBIT_LOAD);
|
| must_remain_enabled_.SetProhibitedActions(
|
| TestProvider::MUST_REMAIN_ENABLED);
|
| + must_remain_disabled_.SetProhibitedActions(
|
| + TestProvider::MUST_REMAIN_DISABLED);
|
| + must_remain_disabled_.SetDisableReason(Extension::DISABLE_SIDELOAD_WIPEOUT);
|
| restrict_all_.SetProhibitedActions(TestProvider::PROHIBIT_MODIFY_STATUS |
|
| TestProvider::PROHIBIT_LOAD |
|
| TestProvider::MUST_REMAIN_ENABLED);
|
| @@ -31,6 +34,7 @@ class ManagementPolicyTest : public testing::Test {
|
| TestProvider no_modify_status_;
|
| TestProvider no_load_;
|
| TestProvider must_remain_enabled_;
|
| + TestProvider must_remain_disabled_;
|
| TestProvider restrict_all_;
|
| };
|
|
|
| @@ -142,6 +146,36 @@ TEST_F(ManagementPolicyTest, MustRemainEnabled) {
|
| EXPECT_TRUE(error.empty());
|
| }
|
|
|
| +TEST_F(ManagementPolicyTest, MustRemainDisabled) {
|
| + // No providers registered.
|
| + string16 error;
|
| + EXPECT_FALSE(policy_.MustRemainDisabled(NULL, NULL, &error));
|
| + EXPECT_TRUE(error.empty());
|
| +
|
| + // One provider, no relevant restriction.
|
| + policy_.RegisterProvider(&allow_all_);
|
| + EXPECT_FALSE(policy_.MustRemainDisabled(NULL, NULL, &error));
|
| + EXPECT_TRUE(error.empty());
|
| +
|
| + // Two providers, no relevant restrictions.
|
| + policy_.RegisterProvider(&no_modify_status_);
|
| + EXPECT_FALSE(policy_.MustRemainDisabled(NULL, NULL, &error));
|
| + EXPECT_TRUE(error.empty());
|
| +
|
| + // Three providers, one with a relevant restriction.
|
| + Extension::DisableReason reason = Extension::DISABLE_NONE;
|
| + policy_.RegisterProvider(&must_remain_disabled_);
|
| + EXPECT_TRUE(policy_.MustRemainDisabled(NULL, &reason, &error));
|
| + EXPECT_FALSE(error.empty());
|
| + EXPECT_EQ(Extension::DISABLE_SIDELOAD_WIPEOUT, reason);
|
| +
|
| + // Remove the restriction.
|
| + policy_.UnregisterProvider(&must_remain_disabled_);
|
| + error.clear();
|
| + EXPECT_FALSE(policy_.MustRemainDisabled(NULL, NULL, &error));
|
| + EXPECT_TRUE(error.empty());
|
| +}
|
| +
|
| // Tests error handling in the ManagementPolicy.
|
| TEST_F(ManagementPolicyTest, ErrorHandling) {
|
| // The error parameter should be unchanged if no restriction was found.
|
|
|