X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fextensions%2Fbrowser%2Fmanagement_policy_unittest.cc;h=7bf60a9bf44dd92924014dbd9b224f120c2c9a4e;hb=1afa4dd80ef85af7c90efaea6959db1d92330844;hp=52373c135ba75b1638b1a60280d690884bf7a103;hpb=90762837333c13ccf56f2ad88e4481fc71e8d281;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/extensions/browser/management_policy_unittest.cc b/src/extensions/browser/management_policy_unittest.cc index 52373c1..7bf60a9 100644 --- a/src/extensions/browser/management_policy_unittest.cc +++ b/src/extensions/browser/management_policy_unittest.cc @@ -12,7 +12,7 @@ using extensions::Extension; class ManagementPolicyTest : public testing::Test { public: - virtual void SetUp() { + void SetUp() override { allow_all_.SetProhibitedActions(TestProvider::ALLOW_ALL); no_modify_status_.SetProhibitedActions( TestProvider::PROHIBIT_MODIFY_STATUS); @@ -22,6 +22,8 @@ class ManagementPolicyTest : public testing::Test { must_remain_disabled_.SetProhibitedActions( TestProvider::MUST_REMAIN_DISABLED); must_remain_disabled_.SetDisableReason(Extension::DISABLE_SIDELOAD_WIPEOUT); + must_remain_installed_.SetProhibitedActions( + TestProvider::MUST_REMAIN_INSTALLED); restrict_all_.SetProhibitedActions(TestProvider::PROHIBIT_MODIFY_STATUS | TestProvider::PROHIBIT_LOAD | TestProvider::MUST_REMAIN_ENABLED); @@ -35,6 +37,7 @@ class ManagementPolicyTest : public testing::Test { TestProvider no_load_; TestProvider must_remain_enabled_; TestProvider must_remain_disabled_; + TestProvider must_remain_installed_; TestProvider restrict_all_; }; @@ -176,6 +179,34 @@ TEST_F(ManagementPolicyTest, MustRemainDisabled) { EXPECT_TRUE(error.empty()); } +TEST_F(ManagementPolicyTest, MustRemainInstalled) { + // No providers registered. + base::string16 error; + EXPECT_FALSE(policy_.MustRemainInstalled(NULL, &error)); + EXPECT_TRUE(error.empty()); + + // One provider, no relevant restriction. + policy_.RegisterProvider(&allow_all_); + EXPECT_FALSE(policy_.MustRemainInstalled(NULL, &error)); + EXPECT_TRUE(error.empty()); + + // Two providers, no relevant restrictions. + policy_.RegisterProvider(&no_modify_status_); + EXPECT_FALSE(policy_.MustRemainInstalled(NULL, &error)); + EXPECT_TRUE(error.empty()); + + // Three providers, one with a relevant restriction. + policy_.RegisterProvider(&must_remain_installed_); + EXPECT_TRUE(policy_.MustRemainInstalled(NULL, &error)); + EXPECT_FALSE(error.empty()); + + // Remove the restriction. + policy_.UnregisterProvider(&must_remain_installed_); + error.clear(); + EXPECT_FALSE(policy_.MustRemainInstalled(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.