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

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

Issue 10905005: Change browser/page action default icon defined in manifest to support hidpi. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 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_action_unittest.cc
diff --git a/chrome/common/extensions/extension_action_unittest.cc b/chrome/common/extensions/extension_action_unittest.cc
index f34ab88a0ca604864090493067ee193d68a96d84..367dc78f6280a9628e3e054e82ef50f601785e3f 100644
--- a/chrome/common/extensions/extension_action_unittest.cc
+++ b/chrome/common/extensions/extension_action_unittest.cc
@@ -8,8 +8,10 @@
#include "base/path_service.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension_action.h"
+#include "chrome/common/extensions/extension_icon_factory_delegate.h"
#include "googleurl/src/gurl.h"
#include "grit/theme_resources.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/resource/resource_bundle.h"
@@ -17,6 +19,8 @@
#include "ui/gfx/skia_util.h"
#include "webkit/glue/image_decoder.h"
+using ::testing::Return;
+
namespace {
bool ImagesAreEqual(const gfx::Image& i1, const gfx::Image& i2) {
@@ -49,6 +53,14 @@ class ExtensionActionTest : public testing::Test {
ExtensionAction action;
};
+class MockActionIconFactory : public ExtensionIconFactoryDelegate {
+ public:
+ virtual ~MockActionIconFactory() {}
+
+ MOCK_METHOD2(GetIcon, gfx::ImageSkia(const ExtensionIconSet* icon_set,
+ const gfx::Size& desired_size));
+};
+
TEST_F(ExtensionActionTest, Title) {
ASSERT_EQ("", action.GetTitle(1));
action.SetTitle(ExtensionAction::kDefaultTabId, "foo");
@@ -69,23 +81,31 @@ TEST_F(ExtensionActionTest, Icon) {
IDR_EXTENSIONS_FAVICON);
gfx::Image icon1 = LoadIcon("icon1.png");
gfx::Image icon2 = LoadIcon("icon2.png");
- ASSERT_TRUE(ImagesAreEqual(puzzle_piece, action.GetIcon(1)));
- action.set_default_icon_path("the_default.png");
- ASSERT_TRUE(ImagesAreEqual(puzzle_piece, action.GetIcon(1)))
- << "Still returns the puzzle piece because the image isn't loaded yet.";
- action.CacheIcon(icon2);
- ASSERT_TRUE(ImagesAreEqual(icon2, action.GetIcon(1)));
+
+ scoped_ptr<ExtensionIconSet> default_icon_set(new ExtensionIconSet());
+ MockActionIconFactory icon_factory_mock;
+
+ EXPECT_CALL(icon_factory_mock, GetIcon(default_icon_set.get(),
+ gfx::Size(19, 19)))
+ .WillOnce(Return(*icon2.ToImageSkia()));
+
+ ASSERT_TRUE(ImagesAreEqual(puzzle_piece,
+ action.GetIcon(1, &icon_factory_mock)));
+
+ action.set_default_icon(default_icon_set.Pass());
+ ASSERT_TRUE(ImagesAreEqual(icon2, action.GetIcon(1, &icon_factory_mock)));
action.SetIcon(ExtensionAction::kDefaultTabId, icon1);
- ASSERT_TRUE(ImagesAreEqual(icon1, action.GetIcon(100)))
- << "SetIcon(kDefaultTabId) overrides the default_icon_path.";
+ ASSERT_TRUE(ImagesAreEqual(icon1, action.GetIcon(100, &icon_factory_mock)))
+ << "SetIcon(kDefaultTabId) overrides the default_icon.";
action.SetIcon(100, icon2);
- ASSERT_TRUE(ImagesAreEqual(icon1, action.GetIcon(1)));
- ASSERT_TRUE(ImagesAreEqual(icon2, action.GetIcon(100)));
+ ASSERT_TRUE(ImagesAreEqual(icon1, action.GetIcon(1, &icon_factory_mock)));
+ ASSERT_TRUE(ImagesAreEqual(icon2, action.GetIcon(100, &icon_factory_mock)));
}
+
TEST_F(ExtensionActionTest, Visibility) {
// Supports the icon animation.
MessageLoop message_loop;

Powered by Google App Engine
This is Rietveld 408576698