Chromium Code Reviews| 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 |