1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Common utilities for Quic tests
7 #ifndef NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_
8 #define NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_
12 #include "base/basictypes.h"
13 #include "base/task_runner.h"
14 #include "base/test/test_pending_task.h"
22 typedef base::TestPendingTask PostedTask
;
24 class TestTaskRunner
: public base::TaskRunner
{
26 explicit TestTaskRunner(MockClock
* clock
);
28 // base::TaskRunner implementation.
29 bool PostDelayedTask(const tracked_objects::Location
& from_here
,
30 const base::Closure
& task
,
31 base::TimeDelta delay
) override
;
32 bool RunsTasksOnCurrentThread() const override
;
34 const std::vector
<PostedTask
>& GetPostedTasks() const;
39 ~TestTaskRunner() override
;
42 std::vector
<PostedTask
>::iterator
FindNextTask();
44 MockClock
* const clock_
;
45 std::vector
<PostedTask
> tasks_
;
47 DISALLOW_COPY_AND_ASSIGN(TestTaskRunner
);
54 #endif // NET_QUIC_TEST_TOOLS_TEST_TASK_RUNNER_H_