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..310e2fdf36f1c672c15350621d01c654e09d086c 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_TRUE(extension2.get() == NULL); |
Yoyo Zhou
2014/09/18 21:08:26
nit: this is just EXPECT_FALSE(extension2.get())
James Cook
2014/09/18 22:02:18
Done.
|
+ 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_TRUE(extension3.get() == NULL); |
Yoyo Zhou
2014/09/18 21:08:26
ditto
James Cook
2014/09/18 22:02:18
Done.
|
+ EXPECT_STREQ("Could not load icon 'icon.png' for page action.", |
+ error.c_str()); |
+} |
+ |
} // namespace extensions |