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

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

Issue 155273002: Repurpose NotificationBitmapFetcher to BitmapFetcher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Appease windows bot Created 6 years, 10 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/notification_bitmap_fetcher_browsertest.cc
diff --git a/chrome/browser/notifications/sync_notifier/notification_bitmap_fetcher_browsertest.cc b/chrome/browser/notifications/sync_notifier/notification_bitmap_fetcher_browsertest.cc
deleted file mode 100644
index ef3a0fcfb98ecb442505db3189ceb8e26476226c..0000000000000000000000000000000000000000
--- a/chrome/browser/notifications/sync_notifier/notification_bitmap_fetcher_browsertest.cc
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright 2013 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 "chrome/browser/notifications/sync_notifier/notification_bitmap_fetcher.h"
-
-#include "base/compiler_specific.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "content/public/test/test_utils.h"
-#include "net/http/http_status_code.h"
-#include "net/url_request/test_url_fetcher_factory.h"
-#include "net/url_request/url_fetcher.h"
-#include "net/url_request/url_request_status.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/gfx/codec/png_codec.h"
-#include "ui/gfx/size.h"
-#include "ui/gfx/skia_util.h"
-
-namespace {
-const bool kAsyncCall = true;
-const bool kSyncCall = false;
-} // namespace
-
-namespace notifier {
-
-// Class to catch events from the NotificationBitmapFetcher for testing.
-class NotificationBitmapFetcherTestDelegate
- : public NotificationBitmapFetcherDelegate {
- public:
- explicit NotificationBitmapFetcherTestDelegate(bool async)
- : called_(false), success_(false), async_(async) {}
-
- virtual ~NotificationBitmapFetcherTestDelegate() {
- EXPECT_TRUE(called_);
- }
-
- // Method inherited from NotificationBitmapFetcherDelegate.
- virtual void OnFetchComplete(const GURL url,
- const SkBitmap* bitmap) OVERRIDE {
- called_ = true;
- url_ = url;
- if (NULL != bitmap) {
- success_ = true;
- bitmap->deepCopyTo(&bitmap_, bitmap->getConfig());
- }
- // For async calls, we need to quit the message loop so the test can
- // continue.
- if (async_) {
- base::MessageLoop::current()->Quit();
- }
- }
-
- GURL url() const { return url_; }
- bool success() const { return success_; }
- const SkBitmap& bitmap() const { return bitmap_; }
-
- private:
- bool called_;
- GURL url_;
- bool success_;
- bool async_;
- SkBitmap bitmap_;
-
- DISALLOW_COPY_AND_ASSIGN(NotificationBitmapFetcherTestDelegate);
-};
-
-class NotificationBitmapFetcherBrowserTest : public InProcessBrowserTest {
- public:
- virtual void SetUp() OVERRIDE {
- url_fetcher_factory_.reset(new net::FakeURLFetcherFactory(NULL));
- InProcessBrowserTest::SetUp();
- }
-
- protected:
- scoped_ptr<net::FakeURLFetcherFactory> url_fetcher_factory_;
-};
-
-#if defined(OS_WIN)
-#define MAYBE_StartTest DISABLED_StartTest
-#else
-#define MAYBE_StartTest StartTest
-#endif
-
-// WARNING: These tests work with --single_process, but not
-// --single-process. The reason is that the sandbox does not get created
-// for us by the test process if --single-process is used.
-
-IN_PROC_BROWSER_TEST_F(NotificationBitmapFetcherBrowserTest,
- MAYBE_StartTest) {
- GURL url("http://example.com/this-should-work");
-
- // Put some realistic looking bitmap data into the url_fetcher.
- SkBitmap image;
-
- // Put a real bitmap into "image". 2x2 bitmap of green 32 bit pixels.
- image.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
- image.allocPixels();
- image.eraseColor(SK_ColorGREEN);
-
- // Encode the bits as a PNG.
- std::vector<unsigned char> compressed;
- ASSERT_TRUE(gfx::PNGCodec::EncodeBGRASkBitmap(image, true, &compressed));
-
- // Copy the bits into the string, and put them into the FakeURLFetcher.
- std::string image_string(compressed.begin(), compressed.end());
-
- // Set up a delegate to wait for the callback.
- NotificationBitmapFetcherTestDelegate delegate(kAsyncCall);
-
- NotificationBitmapFetcher fetcher(url, &delegate);
-
- url_fetcher_factory_->SetFakeResponse(url, image_string, net::HTTP_OK,
- net::URLRequestStatus::SUCCESS);
-
- // We expect that the image decoder will get called and return
- // an image in a callback to OnImageDecoded().
- fetcher.Start(browser()->profile());
-
- // Blocks until test delegate is notified via a callback.
- content::RunMessageLoop();
-
- ASSERT_TRUE(delegate.success());
-
- // Make sure we get back the bitmap we expect.
- const SkBitmap& found_image = delegate.bitmap();
- EXPECT_TRUE(gfx::BitmapsAreEqual(image, found_image));
-}
-
-IN_PROC_BROWSER_TEST_F(NotificationBitmapFetcherBrowserTest,
- OnImageDecodedTest) {
- GURL url("http://example.com/this-should-work-as-well");
- SkBitmap image;
-
- // Put a real bitmap into "image". 2x2 bitmap of green 16 bit pixels.
- image.setConfig(SkBitmap::kARGB_8888_Config, 2, 2);
- image.allocPixels();
- image.eraseColor(SK_ColorGREEN);
-
- NotificationBitmapFetcherTestDelegate delegate(kSyncCall);
-
- NotificationBitmapFetcher fetcher(url, &delegate);
-
- fetcher.OnImageDecoded(NULL, image);
-
- // Ensure image is marked as succeeded.
- EXPECT_TRUE(delegate.success());
-
- // Test that the image is what we expect.
- EXPECT_TRUE(gfx::BitmapsAreEqual(image, delegate.bitmap()));
-}
-
-IN_PROC_BROWSER_TEST_F(NotificationBitmapFetcherBrowserTest,
- OnURLFetchFailureTest) {
- GURL url("http://example.com/this-should-be-fetch-failure");
-
- // We intentionally put no data into the bitmap to simulate a failure.
-
- // Set up a delegate to wait for the callback.
- NotificationBitmapFetcherTestDelegate delegate(kAsyncCall);
-
- NotificationBitmapFetcher fetcher(url, &delegate);
-
- url_fetcher_factory_->SetFakeResponse(url,
- std::string(),
- net::HTTP_INTERNAL_SERVER_ERROR,
- net::URLRequestStatus::FAILED);
-
- fetcher.Start(browser()->profile());
-
- // Blocks until test delegate is notified via a callback.
- content::RunMessageLoop();
-
- EXPECT_FALSE(delegate.success());
-}
-
-// Flaky on Win XP Debug: crbug.com/316488
-#if defined(OS_WIN) && !defined(NDEBUG)
-#define MAYBE_HandleImageFailedTest DISABLED_HandleImageFailedTest
-#else
-#define MAYBE_HandleImageFailedTest HandleImageFailedTest
-#endif
-
-IN_PROC_BROWSER_TEST_F(NotificationBitmapFetcherBrowserTest,
- MAYBE_HandleImageFailedTest) {
- GURL url("http://example.com/this-should-be-a-decode-failure");
- NotificationBitmapFetcherTestDelegate delegate(kAsyncCall);
- NotificationBitmapFetcher fetcher(url, &delegate);
- url_fetcher_factory_->SetFakeResponse(
- url, std::string("Not a real bitmap"),
- net::HTTP_OK, net::URLRequestStatus::SUCCESS);
-
- fetcher.Start(browser()->profile());
-
- // Blocks until test delegate is notified via a callback.
- content::RunMessageLoop();
-
- EXPECT_FALSE(delegate.success());
-}
-
-} // namespace notifier

Powered by Google App Engine
This is Rietveld 408576698