summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/extension_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions/extension_unittest.cc')
-rw-r--r--chrome/common/extensions/extension_unittest.cc26
1 files changed, 24 insertions, 2 deletions
diff --git a/chrome/common/extensions/extension_unittest.cc b/chrome/common/extensions/extension_unittest.cc
index db992eb..29485de 100644
--- a/chrome/common/extensions/extension_unittest.cc
+++ b/chrome/common/extensions/extension_unittest.cc
@@ -23,8 +23,7 @@ namespace errors = extension_manifest_errors;
class ExtensionTest : public testing::Test {
};
-// TODO(mad): http://crbug.com/26214
-TEST(ExtensionTest, DISABLED_InitFromValueInvalid) {
+TEST(ExtensionTest, InitFromValueInvalid) {
#if defined(OS_WIN)
FilePath path(FILE_PATH_LITERAL("c:\\foo"));
#elif defined(OS_POSIX)
@@ -251,6 +250,20 @@ TEST(ExtensionTest, DISABLED_InitFromValueInvalid) {
input_value->Set(keys::kDefaultLocale, Value::CreateStringValue(""));
EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
EXPECT_TRUE(MatchPatternASCII(error, errors::kInvalidDefaultLocale));
+
+ // Test invalid minimum_chrome_version.
+ input_value.reset(static_cast<DictionaryValue*>(valid_value->DeepCopy()));
+ input_value->Set(keys::kMinimumChromeVersion, Value::CreateIntegerValue(42));
+ EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
+ EXPECT_TRUE(MatchPatternASCII(error, errors::kInvalidMinimumChromeVersion));
+
+#if !defined(OS_MACOSX)
+ // TODO(aa): The version isn't stamped into the unit test binary on mac.
+ input_value->Set(keys::kMinimumChromeVersion,
+ Value::CreateStringValue("88.8"));
+ EXPECT_FALSE(extension.InitFromValue(*input_value, true, &error));
+ EXPECT_TRUE(MatchPatternASCII(error, errors::kChromeVersionTooLow));
+#endif
}
TEST(ExtensionTest, InitFromValueValid) {
@@ -281,6 +294,15 @@ TEST(ExtensionTest, InitFromValueValid) {
EXPECT_EQ("", error);
EXPECT_EQ("chrome-extension", extension.options_url().scheme());
EXPECT_EQ("/options.html", extension.options_url().path());
+
+#if !defined(OS_MACOSX)
+ // TODO(aa): The version isn't stamped into the unit test binary on mac.
+ // Test with a minimum_chrome_version.
+ input_value.SetString(keys::kMinimumChromeVersion, "1.0");
+ EXPECT_TRUE(extension.InitFromValue(input_value, false, &error));
+ EXPECT_EQ("", error);
+ // The minimum chrome version is not stored in the Extension object.
+#endif
}
TEST(ExtensionTest, GetResourceURLAndPath) {