| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "extension_prefs_unittest.h" | 5 #include "extension_prefs_unittest.h" |
| 6 | 6 |
| 7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
| 8 #include "base/scoped_temp_dir.h" | 8 #include "base/scoped_temp_dir.h" |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
| (...skipping 1120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1131 ++iteration_; | 1131 ++iteration_; |
| 1132 } else { | 1132 } else { |
| 1133 EXPECT_EQ(kDefaultPref1, actual); | 1133 EXPECT_EQ(kDefaultPref1, actual); |
| 1134 } | 1134 } |
| 1135 } | 1135 } |
| 1136 | 1136 |
| 1137 private: | 1137 private: |
| 1138 int iteration_; | 1138 int iteration_; |
| 1139 }; | 1139 }; |
| 1140 TEST_F(ExtensionPrefsDisableExtensions, ExtensionPrefsDisableExtensions) {} | 1140 TEST_F(ExtensionPrefsDisableExtensions, ExtensionPrefsDisableExtensions) {} |
| 1141 |
| 1142 // Parent class for testing the ManagementPolicy provider methods. |
| 1143 class ExtensionPrefsManagementPolicyProvider : public ExtensionPrefsTest { |
| 1144 public: |
| 1145 virtual void Initialize() {} |
| 1146 virtual void Verify() {} |
| 1147 |
| 1148 void InitializeWithLocation(Extension::Location location, bool required) { |
| 1149 ASSERT_EQ(required, Extension::IsRequired(location)); |
| 1150 |
| 1151 DictionaryValue values; |
| 1152 values.SetString(keys::kName, "test"); |
| 1153 values.SetString(keys::kVersion, "0.1"); |
| 1154 std::string error; |
| 1155 extension_ = Extension::Create(FilePath(), location, values, |
| 1156 Extension::NO_FLAGS, &error); |
| 1157 ASSERT_TRUE(extension_.get()); |
| 1158 } |
| 1159 |
| 1160 protected: |
| 1161 scoped_refptr<Extension> extension_; |
| 1162 }; |
| 1163 |
| 1164 // Tests the behavior of the ManagementPolicy provider methods for an |
| 1165 // extension required by policy. |
| 1166 class ExtensionPrefsRequiredExtension |
| 1167 : public ExtensionPrefsManagementPolicyProvider { |
| 1168 public: |
| 1169 virtual void Initialize() { |
| 1170 InitializeWithLocation(Extension::EXTERNAL_POLICY_DOWNLOAD, true); |
| 1171 } |
| 1172 |
| 1173 virtual void Verify() { |
| 1174 string16 error16; |
| 1175 EXPECT_TRUE(prefs()->UserMayLoad(extension_.get(), &error16)); |
| 1176 EXPECT_EQ(string16(), error16); |
| 1177 |
| 1178 // We won't check the exact wording of the error, but it should say |
| 1179 // something. |
| 1180 EXPECT_FALSE(prefs()->UserMayModifySettings(extension_.get(), &error16)); |
| 1181 EXPECT_NE(string16(), error16); |
| 1182 EXPECT_TRUE(prefs()->MustRemainEnabled(extension_.get(), &error16)); |
| 1183 EXPECT_NE(string16(), error16); |
| 1184 } |
| 1185 }; |
| 1186 TEST_F(ExtensionPrefsRequiredExtension, RequiredExtension) {} |
| 1187 |
| 1188 // Tests the behavior of the ManagementPolicy provider methods for an |
| 1189 // extension required by policy. |
| 1190 class ExtensionPrefsNotRequiredExtension |
| 1191 : public ExtensionPrefsManagementPolicyProvider { |
| 1192 public: |
| 1193 virtual void Initialize() { |
| 1194 InitializeWithLocation(Extension::INTERNAL, false); |
| 1195 } |
| 1196 |
| 1197 virtual void Verify() { |
| 1198 string16 error16; |
| 1199 EXPECT_TRUE(prefs()->UserMayLoad(extension_.get(), &error16)); |
| 1200 EXPECT_EQ(string16(), error16); |
| 1201 EXPECT_TRUE(prefs()->UserMayModifySettings(extension_.get(), &error16)); |
| 1202 EXPECT_EQ(string16(), error16); |
| 1203 EXPECT_FALSE(prefs()->MustRemainEnabled(extension_.get(), &error16)); |
| 1204 EXPECT_EQ(string16(), error16); |
| 1205 } |
| 1206 }; |
| 1207 TEST_F(ExtensionPrefsNotRequiredExtension, NotRequiredExtension) {} |
| OLD | NEW |