diff options
Diffstat (limited to 'chrome/common/extensions/extension_unittest.cc')
-rw-r--r-- | chrome/common/extensions/extension_unittest.cc | 26 |
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) { |