summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/extension_unittest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-06 07:47:12 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-06 07:47:12 +0000
commit2102dfca368947f67ca224accc9868447b3da2a0 (patch)
treec54964bade604a16de9c5660bfcf41daf97384a7 /chrome/common/extensions/extension_unittest.cc
parent34acadd501bf6f49b961aa4d369ae863171e71f5 (diff)
downloadchromium_src-2102dfca368947f67ca224accc9868447b3da2a0.zip
chromium_src-2102dfca368947f67ca224accc9868447b3da2a0.tar.gz
chromium_src-2102dfca368947f67ca224accc9868447b3da2a0.tar.bz2
Reland: Add a minimum_chrome_version key to the manifest.
BUG=24737 TBR=mpcomplete@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35618 0039d316-1c4b-4281-b951-d872f2087c98
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) {