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

Unified Diff: chrome/browser/renderer_host/resource_queue_unittest.cc

Issue 6532073: Move core pieces of browser\renderer_host to src\content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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/renderer_host/resource_queue_unittest.cc
===================================================================
--- chrome/browser/renderer_host/resource_queue_unittest.cc (revision 75488)
+++ chrome/browser/renderer_host/resource_queue_unittest.cc (working copy)
@@ -1,289 +0,0 @@
-// Copyright (c) 2011 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 "base/message_loop.h"
-#include "base/scoped_ptr.h"
-#include "chrome/browser/browser_thread.h"
-#include "chrome/browser/renderer_host/global_request_id.h"
-#include "chrome/browser/renderer_host/resource_dispatcher_host_request_info.h"
-#include "chrome/browser/renderer_host/resource_handler.h"
-#include "chrome/browser/renderer_host/resource_queue.h"
-#include "googleurl/src/gurl.h"
-#include "net/url_request/url_request.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-const char kTestUrl[] = "data:text/plain,Hello World!";
-
-class DummyResourceHandler : public ResourceHandler {
- public:
- DummyResourceHandler() {
- }
-
- bool OnUploadProgress(int request_id, uint64 position, uint64 size) {
- NOTREACHED();
- return true;
- }
-
- virtual bool OnRequestRedirected(int request_id, const GURL& url,
- ResourceResponse* response,
- bool* defer) {
- NOTREACHED();
- return true;
- }
-
- virtual bool OnResponseStarted(int request_id,
- ResourceResponse* response) {
- NOTREACHED();
- return true;
- }
-
- virtual bool OnWillStart(int request_id, const GURL& url, bool* defer) {
- NOTREACHED();
- return true;
- }
-
- virtual bool OnWillRead(int request_id,
- net::IOBuffer** buf,
- int* buf_size,
- int min_size) {
- NOTREACHED();
- return true;
- }
-
- virtual bool OnReadCompleted(int request_id, int* bytes_read) {
- NOTREACHED();
- return true;
- }
-
- virtual bool OnResponseCompleted(int request_id,
- const net::URLRequestStatus& status,
- const std::string& security_info) {
- NOTREACHED();
- return true;
- }
-
- virtual void OnRequestClosed() {
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(DummyResourceHandler);
-};
-
-ResourceDispatcherHostRequestInfo* GetRequestInfo(int request_id) {
- return new ResourceDispatcherHostRequestInfo(
- new DummyResourceHandler(), ChildProcessInfo::RENDER_PROCESS, 0, 0,
- request_id, ResourceType::MAIN_FRAME, 0, false, false, false, -1, -1);
-}
-
-void InitializeQueue(ResourceQueue* queue, ResourceQueueDelegate* delegate) {
- ResourceQueue::DelegateSet delegate_set;
- delegate_set.insert(delegate);
- queue->Initialize(delegate_set);
-}
-
-void InitializeQueue(ResourceQueue* queue,
- ResourceQueueDelegate* delegate1,
- ResourceQueueDelegate* delegate2) {
- ResourceQueue::DelegateSet delegate_set;
- delegate_set.insert(delegate1);
- delegate_set.insert(delegate2);
- queue->Initialize(delegate_set);
-}
-
-class NeverDelayingDelegate : public ResourceQueueDelegate {
- public:
- NeverDelayingDelegate() {
- }
-
- virtual bool ShouldDelayRequest(
- net::URLRequest* request,
- const ResourceDispatcherHostRequestInfo& request_info,
- const GlobalRequestID& request_id) {
- return false;
- }
-
- virtual void WillShutdownResourceQueue() {
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(NeverDelayingDelegate);
-};
-
-class AlwaysDelayingDelegate : public ResourceQueueDelegate {
- public:
- explicit AlwaysDelayingDelegate(ResourceQueue* resource_queue)
- : resource_queue_(resource_queue) {
- }
-
- virtual bool ShouldDelayRequest(
- net::URLRequest* request,
- const ResourceDispatcherHostRequestInfo& request_info,
- const GlobalRequestID& request_id) {
- delayed_requests_.push_back(request_id);
- return true;
- }
-
- virtual void WillShutdownResourceQueue() {
- resource_queue_ = NULL;
- }
-
- void StartDelayedRequests() {
- if (!resource_queue_)
- return;
-
- for (RequestList::iterator i = delayed_requests_.begin();
- i != delayed_requests_.end(); ++i) {
- resource_queue_->StartDelayedRequest(this, *i);
- }
- }
-
- private:
- typedef std::vector<GlobalRequestID> RequestList;
-
- ResourceQueue* resource_queue_;
-
- RequestList delayed_requests_;
-
- DISALLOW_COPY_AND_ASSIGN(AlwaysDelayingDelegate);
-};
-
-class ResourceQueueTest : public testing::Test,
- public net::URLRequest::Delegate {
- public:
- ResourceQueueTest()
- : response_started_count_(0),
- message_loop_(MessageLoop::TYPE_IO),
- ui_thread_(BrowserThread::UI, &message_loop_),
- io_thread_(BrowserThread::IO, &message_loop_) {
- }
-
- virtual void OnResponseStarted(net::URLRequest* request) {
- response_started_count_++;
- // We're not going to do anything more with the request. Cancel it now
- // to avoid leaking net::URLRequestJob.
- request->Cancel();
- }
-
- virtual void OnReadCompleted(net::URLRequest* request, int bytes_read) {
- }
-
- protected:
- int response_started_count_;
-
- private:
- MessageLoop message_loop_;
- BrowserThread ui_thread_;
- BrowserThread io_thread_;
-};
-
-TEST_F(ResourceQueueTest, Basic) {
- // Test the simplest lifycycle of ResourceQueue.
- ResourceQueue queue;
- queue.Initialize(ResourceQueue::DelegateSet());
- queue.Shutdown();
-}
-
-TEST_F(ResourceQueueTest, NeverDelayingDelegate) {
- ResourceQueue queue;
-
- NeverDelayingDelegate delegate;
- InitializeQueue(&queue, &delegate);
-
- net::URLRequest request(GURL(kTestUrl), this);
- scoped_ptr<ResourceDispatcherHostRequestInfo> request_info(GetRequestInfo(0));
- EXPECT_EQ(0, response_started_count_);
- queue.AddRequest(&request, *request_info.get());
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(1, response_started_count_);
-
- queue.Shutdown();
-}
-
-TEST_F(ResourceQueueTest, AlwaysDelayingDelegate) {
- ResourceQueue queue;
-
- AlwaysDelayingDelegate delegate(&queue);
- InitializeQueue(&queue, &delegate);
-
- net::URLRequest request(GURL(kTestUrl), this);
- scoped_ptr<ResourceDispatcherHostRequestInfo> request_info(GetRequestInfo(0));
- EXPECT_EQ(0, response_started_count_);
- queue.AddRequest(&request, *request_info.get());
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
- delegate.StartDelayedRequests();
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(1, response_started_count_);
-
- queue.Shutdown();
-}
-
-TEST_F(ResourceQueueTest, AlwaysDelayingDelegateAfterShutdown) {
- ResourceQueue queue;
-
- AlwaysDelayingDelegate delegate(&queue);
- InitializeQueue(&queue, &delegate);
-
- net::URLRequest request(GURL(kTestUrl), this);
- scoped_ptr<ResourceDispatcherHostRequestInfo> request_info(GetRequestInfo(0));
- EXPECT_EQ(0, response_started_count_);
- queue.AddRequest(&request, *request_info.get());
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
-
- queue.Shutdown();
-
- delegate.StartDelayedRequests();
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
-}
-
-TEST_F(ResourceQueueTest, TwoDelegates) {
- ResourceQueue queue;
-
- AlwaysDelayingDelegate always_delaying_delegate(&queue);
- NeverDelayingDelegate never_delaying_delegate;
- InitializeQueue(&queue, &always_delaying_delegate, &never_delaying_delegate);
-
- net::URLRequest request(GURL(kTestUrl), this);
- scoped_ptr<ResourceDispatcherHostRequestInfo> request_info(GetRequestInfo(0));
- EXPECT_EQ(0, response_started_count_);
- queue.AddRequest(&request, *request_info.get());
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
- always_delaying_delegate.StartDelayedRequests();
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(1, response_started_count_);
-
- queue.Shutdown();
-}
-
-TEST_F(ResourceQueueTest, RemoveRequest) {
- ResourceQueue queue;
-
- AlwaysDelayingDelegate delegate(&queue);
- InitializeQueue(&queue, &delegate);
-
- net::URLRequest request(GURL(kTestUrl), this);
- scoped_ptr<ResourceDispatcherHostRequestInfo> request_info(GetRequestInfo(0));
- GlobalRequestID request_id(request_info->child_id(),
- request_info->request_id());
- EXPECT_EQ(0, response_started_count_);
- queue.AddRequest(&request, *request_info.get());
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
- queue.RemoveRequest(request_id);
- delegate.StartDelayedRequests();
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
-
- queue.Shutdown();
-
- MessageLoop::current()->RunAllPending();
- EXPECT_EQ(0, response_started_count_);
-}
-
-} // namespace

Powered by Google App Engine
This is Rietveld 408576698