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

Unified Diff: chrome/browser/notifications/sync_notifier/synced_notification_app_info_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: CR fixes per DewittJ 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/synced_notification_app_info_unittest.cc
diff --git a/chrome/browser/notifications/sync_notifier/synced_notification_app_info_unittest.cc b/chrome/browser/notifications/sync_notifier/synced_notification_app_info_unittest.cc
index b6482595a9e9005a1c9ae47db5c2edab0066d5af..eee346c1e676bf9c8622f5e8fdd05a5dd103bf19 100644
--- a/chrome/browser/notifications/sync_notifier/synced_notification_app_info_unittest.cc
+++ b/chrome/browser/notifications/sync_notifier/synced_notification_app_info_unittest.cc
@@ -4,8 +4,10 @@
#include <string>
+#include "chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.h"
#include "chrome/browser/notifications/sync_notifier/synced_notification_app_info.h"
-
+#include "chrome/browser/notifications/sync_notifier/synced_notification_app_info_service.h"
+#include "sync/api/sync_error_factory.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
@@ -21,7 +23,7 @@ namespace notifier {
typedef testing::Test SyncedNotificationAppInfoTest;
TEST_F(SyncedNotificationAppInfoTest, AddRemoveTest) {
- SyncedNotificationAppInfo app_info(kTestSendingServiceName);
+ SyncedNotificationAppInfo app_info(NULL, kTestSendingServiceName, NULL);
app_info.AddAppId(kTestAppId1);
@@ -37,17 +39,132 @@ TEST_F(SyncedNotificationAppInfoTest, AddRemoveTest) {
}
TEST_F(SyncedNotificationAppInfoTest, GetAppIdListTest) {
- SyncedNotificationAppInfo app_info(kTestSendingServiceName);
+ SyncedNotificationAppInfo app_info(NULL, kTestSendingServiceName, NULL);
// Add a few app infos.
app_info.AddAppId(kTestAppId1);
app_info.AddAppId(kTestAppId2);
- std::vector<std::string> app_id_list;
- app_info.GetAppIdList(&app_id_list);
+ std::vector<std::string> app_id_list = app_info.GetAppIdList();
EXPECT_EQ(std::string(kTestAppId1), app_id_list[0]);
EXPECT_EQ(std::string(kTestAppId2), app_id_list[1]);
}
+TEST_F(SyncedNotificationAppInfoTest, CreateBitmapFetcherTest) {
+ SyncedNotificationAppInfo app_info(NULL, kTestSendingServiceName, NULL);
+
+ // Add two bitmaps to the queue.
+ app_info.CreateBitmapFetcher(GURL(kIconUrl1));
+ app_info.CreateBitmapFetcher(GURL(kIconUrl2));
+
+ EXPECT_EQ(GURL(kIconUrl1), app_info.fetchers_[0]->url());
+ EXPECT_EQ(GURL(kIconUrl2), app_info.fetchers_[1]->url());
+ EXPECT_EQ(static_cast<unsigned int>(2), app_info.fetchers_.size());
+
+ // Adding a dup of an existing URL shouldn't change anything.
+ app_info.CreateBitmapFetcher(GURL(kIconUrl2));
+ EXPECT_EQ(GURL(kIconUrl1), app_info.fetchers_[0]->url());
+ EXPECT_EQ(GURL(kIconUrl2), app_info.fetchers_[1]->url());
+ EXPECT_EQ(static_cast<unsigned int>(2), app_info.fetchers_.size());
+}
+
+TEST_F(SyncedNotificationAppInfoTest, OnFetchCompleteTest) {
+ StubSyncedNotificationAppInfoService
+ stub_synced_notification_app_info_service(NULL);
+ SyncedNotificationAppInfo app_info(
+ NULL,
+ kTestSendingServiceName,
+ &stub_synced_notification_app_info_service);
+
+ // Set up the internal state that we expect.
+ app_info.settings_low_dpi_icon_url_ = GURL(kIconUrl1);
+ app_info.settings_high_dpi_icon_url_ = GURL(kIconUrl2);
+ app_info.monochrome_low_dpi_icon_url_ = GURL(kIconUrl3);
+ app_info.monochrome_high_dpi_icon_url_ = GURL(kIconUrl4);
+
+ // Add the bitmaps to the queue for us to match up.
+ app_info.CreateBitmapFetcher(GURL(kIconUrl1));
+ app_info.CreateBitmapFetcher(GURL(kIconUrl2));
+ app_info.CreateBitmapFetcher(GURL(kIconUrl3));
+ app_info.CreateBitmapFetcher(GURL(kIconUrl4));
+
+ // Put some realistic looking bitmap data into the url_fetcher.
+ SkBitmap bitmap;
+
+ // Put a real bitmap into "bitmap". 2x2 bitmap of green 32 bit pixels.
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
+ bitmap.allocPixels();
+ bitmap.eraseColor(SK_ColorGREEN);
+
+ app_info.OnFetchComplete(GURL(kIconUrl1), &bitmap);
+ app_info.OnFetchComplete(GURL(kIconUrl2), &bitmap);
+ app_info.OnFetchComplete(GURL(kIconUrl3), &bitmap);
+ app_info.OnFetchComplete(GURL(kIconUrl4), &bitmap);
+
+ // Expect that the app icon has some data in it.
+ EXPECT_FALSE(app_info.icon().IsEmpty());
+
+ // Expect that we reported the fetches all done to the owning service.
+ EXPECT_TRUE(stub_synced_notification_app_info_service.
+ on_bitmap_fetches_done_called());
+
+ // TODO(petewil): For more advanced testing, see what happens if one of the
+ // bitmap urls is a duplicate.
+}
+
+// Same as above, but with a valid but empty bitmap
+TEST_F(SyncedNotificationAppInfoTest, EmptyBitmapTest) {
+ StubSyncedNotificationAppInfoService
+ stub_synced_notification_app_info_service(NULL);
+ SyncedNotificationAppInfo app_info(
+ NULL,
+ kTestSendingServiceName,
+ &stub_synced_notification_app_info_service);
+
+ // Set up the internal state that FetchBitmaps() would have set.
+ app_info.settings_low_dpi_icon_url_ = GURL(kIconUrl1);
+ app_info.settings_high_dpi_icon_url_ = GURL(kIconUrl2);
+ app_info.monochrome_low_dpi_icon_url_ = GURL(kIconUrl3);
+ app_info.monochrome_high_dpi_icon_url_ = GURL(kIconUrl4);
+
+ // Add the bitmaps to the queue for us to match up.
+ app_info.CreateBitmapFetcher(GURL(kIconUrl1));
+ app_info.CreateBitmapFetcher(GURL(kImageUrl1));
+ app_info.CreateBitmapFetcher(GURL(kButtonOneIconUrl));
+ app_info.CreateBitmapFetcher(GURL(kButtonTwoIconUrl));
+
+ // Put some realistic looking bitmap data into the url_fetcher.
+ SkBitmap empty_bitmap;
+
+ // Put a null bitmap into "bitmap". 2x2 bitmap of green 32 bit pixels.
+ empty_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 0, 0);
+ empty_bitmap.allocPixels();
+ empty_bitmap.eraseColor(SK_ColorGREEN);
+
+ app_info.OnFetchComplete(GURL(kIconUrl1), &empty_bitmap);
+ app_info.OnFetchComplete(GURL(kIconUrl2), &empty_bitmap);
+ app_info.OnFetchComplete(GURL(kIconUrl3), &empty_bitmap);
+ app_info.OnFetchComplete(GURL(kIconUrl4), &empty_bitmap);
+
+ // Expect that we reported the fetches all done to the owning service.
+ EXPECT_TRUE(stub_synced_notification_app_info_service.
+ on_bitmap_fetches_done_called());
+}
+
+TEST_F(SyncedNotificationAppInfoTest, AreAllBitmapsFetchedTest) {
+ SyncedNotificationAppInfo app_info(NULL, kTestSendingServiceName, NULL);
+ app_info.settings_low_dpi_icon_url_ = GURL(kTestIconUrl);
+ app_info.settings_high_dpi_icon_url_ = GURL(kTestIconUrl);
+
+ app_info.settings_low_dpi_icon_fetched_ = true;
+
+ EXPECT_FALSE(app_info.AreAllBitmapsFetched());
+
+ // Set the remaining bitmaps that we have URLs for.
+ app_info.settings_high_dpi_icon_fetched_ = true;
+
+ EXPECT_TRUE(app_info.AreAllBitmapsFetched());
+}
+
} // namespace notifier

Powered by Google App Engine
This is Rietveld 408576698