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

Unified Diff: net/url_request/url_request_simple_job_unittest.cc

Issue 2679583004: Use TaskScheduler instead of WorkerPool in url_request_simple_job.cc. (Closed)
Patch Set: separate thread comment Created 3 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
« no previous file with comments | « net/url_request/url_request_simple_job.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/url_request_simple_job_unittest.cc
diff --git a/net/url_request/url_request_simple_job_unittest.cc b/net/url_request/url_request_simple_job_unittest.cc
index 8b0ef3232e85334cc2996c53459789c151a6d13c..73c4c56ba6b4fd94494f5df387d9f282ec472fe0 100644
--- a/net/url_request/url_request_simple_job_unittest.cc
+++ b/net/url_request/url_request_simple_job_unittest.cc
@@ -10,11 +10,12 @@
#include "base/bind_helpers.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
+#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/sequenced_task_runner.h"
#include "base/strings/string_piece.h"
#include "base/strings/stringprintf.h"
-#include "base/threading/thread.h"
+#include "base/test/scoped_task_scheduler.h"
#include "net/base/request_priority.h"
#include "net/test/gtest_util.h"
#include "net/url_request/url_request_job.h"
@@ -44,11 +45,9 @@ class MockSimpleJob : public URLRequestSimpleJob {
public:
MockSimpleJob(URLRequest* request,
NetworkDelegate* network_delegate,
- scoped_refptr<base::TaskRunner> task_runner,
base::StringPiece data)
: URLRequestSimpleJob(request, network_delegate),
- data_(data.as_string()),
- task_runner_(std::move(task_runner)) {}
+ data_(data.as_string()) {}
protected:
// URLRequestSimpleJob implementation:
@@ -62,17 +61,11 @@ class MockSimpleJob : public URLRequestSimpleJob {
return OK;
}
- base::TaskRunner* GetTaskRunner() const override {
- return task_runner_.get();
- }
-
private:
~MockSimpleJob() override {}
const std::string data_;
- const scoped_refptr<base::TaskRunner> task_runner_;
-
DISALLOW_COPY_AND_ASSIGN(MockSimpleJob);
};
@@ -101,33 +94,27 @@ class CancelAfterFirstReadURLRequestDelegate : public TestDelegate {
class SimpleJobProtocolHandler :
public URLRequestJobFactory::ProtocolHandler {
public:
- SimpleJobProtocolHandler(scoped_refptr<base::TaskRunner> task_runner)
- : task_runner_(std::move(task_runner)) {}
+ SimpleJobProtocolHandler() = default;
URLRequestJob* MaybeCreateJob(
URLRequest* request,
NetworkDelegate* network_delegate) const override {
if (request->url().spec() == "data:empty")
- return new MockSimpleJob(request, network_delegate, task_runner_, "");
- return new MockSimpleJob(request, network_delegate, task_runner_,
- kTestData);
+ return new MockSimpleJob(request, network_delegate, "");
+ return new MockSimpleJob(request, network_delegate, kTestData);
}
~SimpleJobProtocolHandler() override {}
private:
- const scoped_refptr<base::TaskRunner> task_runner_;
-
DISALLOW_COPY_AND_ASSIGN(SimpleJobProtocolHandler);
};
class URLRequestSimpleJobTest : public ::testing::Test {
public:
URLRequestSimpleJobTest()
- : worker_thread_("URLRequestSimpleJobTest"), context_(true) {
- EXPECT_TRUE(worker_thread_.Start());
-
+ : context_(true), scoped_task_scheduler_(base::MessageLoop::current()) {
job_factory_.SetProtocolHandler(
- "data", base::MakeUnique<SimpleJobProtocolHandler>(task_runner()));
+ "data", base::MakeUnique<SimpleJobProtocolHandler>());
context_.set_job_factory(&job_factory_);
context_.Init();
@@ -145,17 +132,15 @@ class URLRequestSimpleJobTest : public ::testing::Test {
EXPECT_FALSE(request_->is_pending());
}
- scoped_refptr<base::SequencedTaskRunner> task_runner() {
- return worker_thread_.task_runner();
- }
-
protected:
- base::Thread worker_thread_;
TestURLRequestContext context_;
URLRequestJobFactoryImpl job_factory_;
TestDelegate delegate_;
std::unique_ptr<URLRequest> request_;
+ private:
+ base::test::ScopedTaskScheduler scoped_task_scheduler_;
+
DISALLOW_COPY_AND_ASSIGN(URLRequestSimpleJobTest);
};
@@ -236,12 +221,8 @@ TEST_F(URLRequestSimpleJobTest, CancelAfterFirstReadStarted) {
request_->Start();
cancel_delegate.WaitUntilHeadersReceived();
- // Feed a dummy task to the SequencedTaskRunner to make sure that the
- // callbacks which are invoked in ReadRawData have completed safely.
- base::RunLoop run_loop;
- EXPECT_TRUE(task_runner()->PostTaskAndReply(
- FROM_HERE, base::Bind(&base::DoNothing), run_loop.QuitClosure()));
- run_loop.Run();
+ // Run ScopedTaskScheduler tasks.
+ base::RunLoop().RunUntilIdle();
EXPECT_THAT(cancel_delegate.request_status(), IsError(ERR_ABORTED));
EXPECT_EQ(1, cancel_delegate.response_started_count());
« no previous file with comments | « net/url_request/url_request_simple_job.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698