| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 // These tests make sure SettingsOverridePermission values are set correctly. | 5 // These tests make sure SettingsOverridePermission values are set correctly. | 
| 6 | 6 | 
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" | 
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" | 
| 9 #include "base/values.h" | 9 #include "base/values.h" | 
| 10 #include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h" | 10 #include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h" | 
| 11 #include "extensions/common/manifest_constants.h" | 11 #include "extensions/common/manifest_constants.h" | 
|  | 12 #include "extensions/common/permissions/permission_message_test_util.h" | 
| 12 #include "extensions/common/permissions/permission_set.h" | 13 #include "extensions/common/permissions/permission_set.h" | 
| 13 #include "extensions/common/permissions/permissions_data.h" | 14 #include "extensions/common/permissions/permissions_data.h" | 
| 14 #include "extensions/common/permissions/settings_override_permission.h" | 15 #include "extensions/common/permissions/settings_override_permission.h" | 
| 15 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" | 
| 16 | 17 | 
| 17 namespace extensions { | 18 namespace extensions { | 
| 18 | 19 | 
| 19 namespace { | 20 namespace { | 
| 20 | 21 | 
| 21 class SettingsOverridePermissionTest : public ChromeManifestTest { | 22 class SettingsOverridePermissionTest : public ChromeManifestTest { | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 61   } | 62   } | 
| 62 }; | 63 }; | 
| 63 | 64 | 
| 64 TEST_F(SettingsOverridePermissionTest, HomePage) { | 65 TEST_F(SettingsOverridePermissionTest, HomePage) { | 
| 65   scoped_refptr<Extension> extension(GetPermissionSet(kHomepage)); | 66   scoped_refptr<Extension> extension(GetPermissionSet(kHomepage)); | 
| 66   scoped_refptr<const PermissionSet> permission_set( | 67   scoped_refptr<const PermissionSet> permission_set( | 
| 67       extension->permissions_data()->active_permissions()); | 68       extension->permissions_data()->active_permissions()); | 
| 68 | 69 | 
| 69 #if defined(OS_WIN) | 70 #if defined(OS_WIN) | 
| 70   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 71   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 71   std::vector<base::string16> warnings = | 72   VerifyOnePermissionMessage(extension->permissions_data(), | 
| 72       extension->permissions_data()->GetPermissionMessageStrings(); | 73                              "Change your home page to: google.com/"); | 
| 73   ASSERT_EQ(1u, warnings.size()); | 74 #else | 
| 74   EXPECT_EQ("Change your home page to: google.com/", | 75   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 75             base::UTF16ToUTF8(warnings[0])); | 76 #endif | 
| 76 | 77 | 
| 77   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 78   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
| 78   EXPECT_FALSE(permission_set->HasAPIPermission( | 79   EXPECT_FALSE(permission_set->HasAPIPermission( | 
| 79       APIPermission::kSearchProvider)); | 80       APIPermission::kSearchProvider)); | 
| 80 #else |  | 
| 81   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); |  | 
| 82   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); |  | 
| 83   EXPECT_FALSE( |  | 
| 84       permission_set->HasAPIPermission(APIPermission::kSearchProvider)); |  | 
| 85 #endif |  | 
| 86 } | 81 } | 
| 87 | 82 | 
| 88 TEST_F(SettingsOverridePermissionTest, StartupPages) { | 83 TEST_F(SettingsOverridePermissionTest, StartupPages) { | 
| 89   scoped_refptr<Extension> extension(GetPermissionSet(kStartupPages)); | 84   scoped_refptr<Extension> extension(GetPermissionSet(kStartupPages)); | 
| 90   scoped_refptr<const PermissionSet> permission_set( | 85   scoped_refptr<const PermissionSet> permission_set( | 
| 91       extension->permissions_data()->active_permissions()); | 86       extension->permissions_data()->active_permissions()); | 
| 92 | 87 | 
| 93 #if defined(OS_WIN) | 88 #if defined(OS_WIN) | 
| 94   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 89   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
| 95   std::vector<base::string16> warnings = | 90   VerifyOnePermissionMessage( | 
| 96       extension->permissions_data()->GetPermissionMessageStrings(); | 91       extension->permissions_data(), | 
| 97   ASSERT_EQ(1u, warnings.size()); | 92       "Change your start page to: startup.com/startup.html"); | 
| 98   EXPECT_EQ("Change your start page to: startup.com/startup.html", | 93 #else | 
| 99             base::UTF16ToUTF8(warnings[0])); | 94   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
|  | 95 #endif | 
| 100 | 96 | 
| 101   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 97   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 102   EXPECT_FALSE(permission_set->HasAPIPermission( | 98   EXPECT_FALSE(permission_set->HasAPIPermission( | 
| 103       APIPermission::kSearchProvider)); | 99       APIPermission::kSearchProvider)); | 
| 104 #else |  | 
| 105   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); |  | 
| 106   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); |  | 
| 107   EXPECT_FALSE( |  | 
| 108       permission_set->HasAPIPermission(APIPermission::kSearchProvider)); |  | 
| 109 #endif |  | 
| 110 } | 100 } | 
| 111 | 101 | 
| 112 TEST_F(SettingsOverridePermissionTest, SearchSettings) { | 102 TEST_F(SettingsOverridePermissionTest, SearchSettings) { | 
| 113   scoped_refptr<Extension> extension(GetPermissionSet(kSearchProvider)); | 103   scoped_refptr<Extension> extension(GetPermissionSet(kSearchProvider)); | 
| 114   scoped_refptr<const PermissionSet> permission_set( | 104   scoped_refptr<const PermissionSet> permission_set( | 
| 115       extension->permissions_data()->active_permissions()); | 105       extension->permissions_data()->active_permissions()); | 
| 116 | 106 | 
| 117 #if defined(OS_WIN) | 107 #if defined(OS_WIN) | 
| 118   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 108   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 
| 119   std::vector<base::string16> warnings = | 109   VerifyOnePermissionMessage(extension->permissions_data(), | 
| 120       extension->permissions_data()->GetPermissionMessageStrings(); | 110                              "Change your search settings to: google.com"); | 
| 121   ASSERT_EQ(1u, warnings.size()); | 111 #else | 
| 122   EXPECT_EQ("Change your search settings to: google.com", | 112   EXPECT_FALSE( | 
| 123             base::UTF16ToUTF8(warnings[0])); | 113       permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 
|  | 114 #endif | 
| 124 | 115 | 
| 125   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 116   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 126   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 117   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
| 127 #else |  | 
| 128   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); |  | 
| 129   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); |  | 
| 130   EXPECT_FALSE( |  | 
| 131       permission_set->HasAPIPermission(APIPermission::kSearchProvider)); |  | 
| 132 #endif |  | 
| 133 } | 118 } | 
| 134 | 119 | 
| 135 TEST_F(SettingsOverridePermissionTest, All) { | 120 TEST_F(SettingsOverridePermissionTest, All) { | 
| 136   scoped_refptr<Extension> extension(GetPermissionSet( | 121   scoped_refptr<Extension> extension(GetPermissionSet( | 
| 137       kSearchProvider | kStartupPages | kHomepage)); | 122       kSearchProvider | kStartupPages | kHomepage)); | 
| 138   scoped_refptr<const PermissionSet> permission_set( | 123   scoped_refptr<const PermissionSet> permission_set( | 
| 139       extension->permissions_data()->active_permissions()); | 124       extension->permissions_data()->active_permissions()); | 
| 140 | 125 | 
| 141 #if defined(OS_WIN) | 126 #if defined(OS_WIN) | 
| 142   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kSearchProvider)); |  | 
| 143   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 127   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 144   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 128   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
|  | 129   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 
| 145 #else | 130 #else | 
| 146   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 131   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 147   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 132   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
| 148   EXPECT_FALSE( | 133   EXPECT_FALSE(permission_set->HasAPIPermission( | 
| 149       permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 134       APIPermission::kSearchProvider)); | 
| 150 #endif | 135 #endif | 
| 151 } | 136 } | 
| 152 | 137 | 
| 153 TEST_F(SettingsOverridePermissionTest, Some) { | 138 TEST_F(SettingsOverridePermissionTest, Some) { | 
| 154   scoped_refptr<Extension> extension(GetPermissionSet( | 139   scoped_refptr<Extension> extension(GetPermissionSet( | 
| 155       kSearchProvider | kHomepage)); | 140       kSearchProvider | kHomepage)); | 
| 156   scoped_refptr<const PermissionSet> permission_set( | 141   scoped_refptr<const PermissionSet> permission_set( | 
| 157       extension->permissions_data()->active_permissions()); | 142       extension->permissions_data()->active_permissions()); | 
| 158 | 143 | 
| 159 #if defined(OS_WIN) | 144 #if defined(OS_WIN) | 
|  | 145   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
| 160   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 146   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kSearchProvider)); | 
| 161   EXPECT_TRUE(permission_set->HasAPIPermission(APIPermission::kHomepage)); |  | 
| 162   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); |  | 
| 163 #else | 147 #else | 
| 164   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 148   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kHomepage)); | 
|  | 149   EXPECT_FALSE(permission_set->HasAPIPermission( | 
|  | 150       APIPermission::kSearchProvider)); | 
|  | 151 #endif | 
|  | 152 | 
| 165   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 153   EXPECT_FALSE(permission_set->HasAPIPermission(APIPermission::kStartupPages)); | 
| 166   EXPECT_FALSE( |  | 
| 167       permission_set->HasAPIPermission(APIPermission::kSearchProvider)); |  | 
| 168 #endif |  | 
| 169 } | 154 } | 
| 170 | 155 | 
| 171 }  // namespace | 156 }  // namespace | 
| 172 | 157 | 
| 173 }  // namespace extensions | 158 }  // namespace extensions | 
| OLD | NEW | 
|---|