Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3819)

Unified Diff: chrome/common/extensions/extension_file_util_unittest.cc

Issue 562273006: Move the last extensions/common unit tests to extensions_unittests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@manifest2
Patch Set: (file-tests) review comments Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/extension_file_util_unittest.cc
diff --git a/chrome/common/extensions/extension_file_util_unittest.cc b/chrome/common/extensions/extension_file_util_unittest.cc
index f63a01c9ccb5e5462bd274a9ba8c3460e24619e0..64b8bc71fe1c6d947c3f6b5351297bce5dde9bda 100644
--- a/chrome/common/extensions/extension_file_util_unittest.cc
+++ b/chrome/common/extensions/extension_file_util_unittest.cc
@@ -5,6 +5,7 @@
#include "chrome/common/extensions/extension_file_util.h"
#include <set>
+#include <string>
#include "base/path_service.h"
#include "chrome/common/chrome_paths.h"
@@ -38,4 +39,35 @@ TEST_F(ExtensionFileUtilTest, GetBrowserImagePaths) {
EXPECT_EQ("icon.png", paths.begin()->BaseName().AsUTF8Unsafe());
}
+// Test that extensions with zero-length action icons will not load.
+TEST_F(ExtensionFileUtilTest, CheckZeroLengthActionIconFiles) {
+ base::FilePath install_dir;
+ ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &install_dir));
+
+ // Try to install an extension with a zero-length browser action icon file.
+ base::FilePath ext_dir = install_dir.AppendASCII("extensions")
+ .AppendASCII("bad")
+ .AppendASCII("Extensions")
+ .AppendASCII("gggggggggggggggggggggggggggggggg");
+
+ std::string error;
+ scoped_refptr<Extension> extension2(file_util::LoadExtension(
+ ext_dir, Manifest::UNPACKED, Extension::NO_FLAGS, &error));
+ EXPECT_FALSE(extension2.get());
+ EXPECT_STREQ("Could not load icon 'icon.png' for browser action.",
+ error.c_str());
+
+ // Try to install an extension with a zero-length page action icon file.
+ ext_dir = install_dir.AppendASCII("extensions")
+ .AppendASCII("bad")
+ .AppendASCII("Extensions")
+ .AppendASCII("hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
+
+ scoped_refptr<Extension> extension3(file_util::LoadExtension(
+ ext_dir, Manifest::UNPACKED, Extension::NO_FLAGS, &error));
+ EXPECT_FALSE(extension3.get());
+ EXPECT_STREQ("Could not load icon 'icon.png' for page action.",
+ error.c_str());
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698