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

Unified Diff: components/sync/driver/sync_stopped_reporter_unittest.cc

Issue 2657013002: Introduce ThreadTaskRunnerHandle::OverrideForTesting and TestMockTimeTaskRunner::ScopedContext. (Closed)
Patch Set: fix RecentTabHelperTest crash? 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
Index: components/sync/driver/sync_stopped_reporter_unittest.cc
diff --git a/components/sync/driver/sync_stopped_reporter_unittest.cc b/components/sync/driver/sync_stopped_reporter_unittest.cc
index 70ab87f26f626fac38c709dec1670626925bc899..e9d87895d5fbfa5b1201d064fa0c975ca3984e02 100644
--- a/components/sync/driver/sync_stopped_reporter_unittest.cc
+++ b/components/sync/driver/sync_stopped_reporter_unittest.cc
@@ -6,7 +6,7 @@
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
-#include "base/test/test_simple_task_runner.h"
+#include "base/test/scoped_mock_time_message_loop_task_runner.h"
#include "base/threading/non_thread_safe.h"
#include "components/sync/protocol/sync.pb.h"
#include "net/http/http_status_code.h"
@@ -152,23 +152,18 @@ TEST_F(SyncStoppedReporterTest, DestructionDuringRequestHandler) {
}
TEST_F(SyncStoppedReporterTest, Timeout) {
+ // Mock the underlying loop's clock to trigger the timer at will.
+ base::ScopedMockTimeMessageLoopTaskRunner mock_main_runner;
+
SyncStoppedReporter ssr(test_url(), user_agent(), request_context(),
callback());
- // A task runner that can trigger the timeout immediately.
- scoped_refptr<base::TestSimpleTaskRunner> task_runner(
- new base::TestSimpleTaskRunner());
- ssr.SetTimerTaskRunnerForTest(task_runner);
-
// Begin request.
ssr.ReportSyncStopped(kAuthToken, kCacheGuid, kBirthday);
// Trigger the timeout.
- ASSERT_TRUE(task_runner->HasPendingTask());
- task_runner->RunPendingTasks();
-
- base::RunLoop run_loop;
- run_loop.RunUntilIdle();
+ ASSERT_TRUE(mock_main_runner->HasPendingTask());
+ mock_main_runner->FastForwardUntilNoTasksRemain();
EXPECT_EQ(SyncStoppedReporter::RESULT_TIMEOUT, request_result());
}
@@ -183,20 +178,18 @@ TEST_F(SyncStoppedReporterTest, NoCallback) {
}
TEST_F(SyncStoppedReporterTest, NoCallbackTimeout) {
+ // Mock the underlying loop's clock to trigger the timer at will.
+ base::ScopedMockTimeMessageLoopTaskRunner mock_main_runner;
+
SyncStoppedReporter ssr(GURL(kTestURL), user_agent(), request_context(),
SyncStoppedReporter::ResultCallback());
- // A task runner that can trigger the timeout immediately.
- scoped_refptr<base::TestSimpleTaskRunner> task_runner(
- new base::TestSimpleTaskRunner());
- ssr.SetTimerTaskRunnerForTest(task_runner);
-
// Begin request.
ssr.ReportSyncStopped(kAuthToken, kCacheGuid, kBirthday);
// Trigger the timeout.
- ASSERT_TRUE(task_runner->HasPendingTask());
- task_runner->RunPendingTasks();
+ ASSERT_TRUE(mock_main_runner->HasPendingTask());
+ mock_main_runner->FastForwardUntilNoTasksRemain();
}
} // namespace syncer

Powered by Google App Engine
This is Rietveld 408576698