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

Unified Diff: chrome/browser/notifications/sync_notifier/image_holder_unittest.cc

Issue 193773003: Turn on and use the AppInfo data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Turn on app info: Refactoring the image holders Created 6 years, 9 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/browser/notifications/sync_notifier/image_holder_unittest.cc
diff --git a/chrome/browser/notifications/sync_notifier/image_holder_unittest.cc b/chrome/browser/notifications/sync_notifier/image_holder_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..534228e54202d04cc34bc3d716f43a753b80900c
--- /dev/null
+++ b/chrome/browser/notifications/sync_notifier/image_holder_unittest.cc
@@ -0,0 +1,103 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <string>
+
+#include "chrome/browser/notifications/sync_notifier/image_holder.h"
+#include "chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+class TestDelegate : public notifier::ImageHolderDelegate {
+ public:
+ TestDelegate() : on_fetch_complete_called_(false) {}
+ virtual void OnFetchComplete() OVERRIDE {
+ on_fetch_complete_called_ = true;
+ }
+ bool on_fetch_complete_called_;
+};
+
+} // namespace.
+
+namespace notifier {
+
+typedef testing::Test ImageHolderTest;
+
+TEST_F(ImageHolderTest, CreateBitmapFetcherTest) {
+ TestDelegate delegate;
+ ImageHolder image_holder(GURL(kIconUrl1), GURL(kIconUrl2), NULL, &delegate);
+
+ EXPECT_EQ(GURL(kIconUrl1), image_holder.fetchers_[0]->url());
+ EXPECT_EQ(GURL(kIconUrl2), image_holder.fetchers_[1]->url());
+ EXPECT_EQ(static_cast<unsigned int>(2), image_holder.fetchers_.size());
+
+ // Adding a dup of an existing URL shouldn't change anything.
+ image_holder.CreateBitmapFetcher(GURL(kIconUrl2));
+ EXPECT_EQ(GURL(kIconUrl1), image_holder.fetchers_[0]->url());
+ EXPECT_EQ(GURL(kIconUrl2), image_holder.fetchers_[1]->url());
+ EXPECT_EQ(static_cast<unsigned int>(2), image_holder.fetchers_.size());
+}
+
+TEST_F(ImageHolderTest, OnFetchCompleteTest) {
+ TestDelegate delegate;
+ ImageHolder image_holder(GURL(kIconUrl1), GURL(), NULL, &delegate);
+
+ // Put a real bitmap into "bitmap". 2x2 bitmap of green 32 bit pixels.
+ SkBitmap bitmap;
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
+ bitmap.allocPixels();
+ bitmap.eraseColor(SK_ColorGREEN);
+
+ image_holder.OnFetchComplete(GURL(kIconUrl1), &bitmap);
+
+ // Expect that the app icon has some data in it.
+ EXPECT_FALSE(image_holder.low_dpi_image().IsEmpty());
+
+ // Expect that we reported the fetch done to the delegate.
+ EXPECT_TRUE(delegate.on_fetch_complete_called_);
+}
+
+TEST_F(ImageHolderTest, IsFetchingDoneTest) {
+ TestDelegate delegate;
+ ImageHolder image_holder1(GURL(kIconUrl1), GURL(kIconUrl2), NULL, &delegate);
+ ImageHolder image_holder2(GURL(kIconUrl1), GURL(), NULL, &delegate);
+ ImageHolder image_holder3(GURL(), GURL(kIconUrl2), NULL, &delegate);
+ ImageHolder image_holder4(GURL(), GURL(), NULL, &delegate);
+
+ // Initially, image holder 4 with no URLs should report done, but no others.
+ EXPECT_FALSE(image_holder1.IsFetchingDone());
+ EXPECT_FALSE(image_holder2.IsFetchingDone());
+ EXPECT_FALSE(image_holder3.IsFetchingDone());
+ EXPECT_TRUE(image_holder4.IsFetchingDone());
+
+ // Put a real bitmap into "bitmap". 2x2 bitmap of green 32 bit pixels.
+ SkBitmap bitmap;
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
+ bitmap.allocPixels();
+ bitmap.eraseColor(SK_ColorGREEN);
+
+ // Add the first icon, and image holder 2 should now also report done.
+ image_holder1.OnFetchComplete(GURL(kIconUrl1), &bitmap);
+ image_holder2.OnFetchComplete(GURL(kIconUrl1), &bitmap);
+ image_holder3.OnFetchComplete(GURL(kIconUrl1), &bitmap);
+ image_holder4.OnFetchComplete(GURL(kIconUrl1), &bitmap);
+ EXPECT_FALSE(image_holder1.IsFetchingDone());
+ EXPECT_TRUE(image_holder2.IsFetchingDone());
+ EXPECT_FALSE(image_holder3.IsFetchingDone());
+ EXPECT_TRUE(image_holder4.IsFetchingDone());
+
+ // Add the second image, and now all 4 should report done.
+ image_holder1.OnFetchComplete(GURL(kIconUrl2), &bitmap);
+ image_holder2.OnFetchComplete(GURL(kIconUrl2), &bitmap);
+ image_holder3.OnFetchComplete(GURL(kIconUrl2), &bitmap);
+ image_holder4.OnFetchComplete(GURL(kIconUrl2), &bitmap);
+ EXPECT_TRUE(image_holder1.IsFetchingDone());
+ EXPECT_TRUE(image_holder2.IsFetchingDone());
+ EXPECT_TRUE(image_holder3.IsFetchingDone());
+ EXPECT_TRUE(image_holder4.IsFetchingDone());
+}
+
+} // namespace notifier.

Powered by Google App Engine
This is Rietveld 408576698