| Index: remoting/jingle_glue/jingle_thread_unittest.cc
|
| diff --git a/remoting/jingle_glue/jingle_thread_unittest.cc b/remoting/jingle_glue/jingle_thread_unittest.cc
|
| index 287af056eb007ae5271a3f96b04cc202dadb4c56..8142482b87721321235a0e50cde8687dbebeecf3 100644
|
| --- a/remoting/jingle_glue/jingle_thread_unittest.cc
|
| +++ b/remoting/jingle_glue/jingle_thread_unittest.cc
|
| @@ -2,6 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/bind.h"
|
| +#include "base/bind_helpers.h"
|
| #include "base/message_loop.h"
|
| #include "base/time.h"
|
| #include "base/synchronization/waitable_event.h"
|
| @@ -11,35 +13,39 @@
|
|
|
| namespace remoting {
|
|
|
| -class MockTask : public Task {
|
| +class MockCallback {
|
| public:
|
| MOCK_METHOD0(Run, void());
|
| };
|
|
|
| namespace {
|
| +
|
| // Delay used to test delayed tasks. Shouldn't be too big, so that we don't
|
| // slow down the test, yet, should be big enough to be measurable.
|
| int kDelayMs = 50; // 0.05 s.
|
| int kDelayTimeoutMs = 10000; // 10 s.
|
| +
|
| } // namespace
|
|
|
| TEST(JingleThreadTest, PostTask) {
|
| JingleThread thread;
|
| - MockTask* task = new MockTask();
|
| - EXPECT_CALL(*task, Run());
|
| + MockCallback task;
|
| + EXPECT_CALL(task, Run());
|
|
|
| thread.Start();
|
| - thread.message_loop()->PostTask(FROM_HERE, task);
|
| + thread.message_loop()->PostTask(
|
| + FROM_HERE, base::Bind(&MockCallback::Run, base::Unretained(&task)));
|
| thread.Stop();
|
| }
|
|
|
| TEST(JingleThreadTest, PostNonNestableTask) {
|
| JingleThread thread;
|
| - MockTask* task = new MockTask();
|
| - EXPECT_CALL(*task, Run());
|
| + MockCallback task;
|
| + EXPECT_CALL(task, Run());
|
|
|
| thread.Start();
|
| - thread.message_loop()->PostNonNestableTask(FROM_HERE, task);
|
| + thread.message_loop()->PostNonNestableTask(
|
| + FROM_HERE, base::Bind(&MockCallback::Run, base::Unretained(&task)));
|
| thread.Stop();
|
| }
|
|
|
| @@ -49,13 +55,15 @@ ACTION_P(SignalEvent, event) {
|
|
|
| TEST(JingleThreadTest, PostDelayedTask) {
|
| JingleThread thread;
|
| - MockTask* task = new MockTask();
|
| + MockCallback task;
|
| base::WaitableEvent event(true, false);
|
| - EXPECT_CALL(*task, Run()).WillOnce(SignalEvent(&event));
|
| + EXPECT_CALL(task, Run()).WillOnce(SignalEvent(&event));
|
|
|
| thread.Start();
|
| base::Time start = base::Time::Now();
|
| - thread.message_loop()->PostDelayedTask(FROM_HERE, task, kDelayMs);
|
| + thread.message_loop()->PostDelayedTask(
|
| + FROM_HERE, base::Bind(&MockCallback::Run, base::Unretained(&task)),
|
| + kDelayMs);
|
| event.TimedWait(base::TimeDelta::FromMilliseconds(kDelayTimeoutMs));
|
| base::Time end = base::Time::Now();
|
| thread.Stop();
|
| @@ -65,13 +73,15 @@ TEST(JingleThreadTest, PostDelayedTask) {
|
|
|
| TEST(JingleThreadTest, PostNonNestableDelayedTask) {
|
| JingleThread thread;
|
| - MockTask* task = new MockTask();
|
| + MockCallback task;
|
| base::WaitableEvent event(true, false);
|
| - EXPECT_CALL(*task, Run()).WillOnce(SignalEvent(&event));
|
| + EXPECT_CALL(task, Run()).WillOnce(SignalEvent(&event));
|
|
|
| thread.Start();
|
| base::Time start = base::Time::Now();
|
| - thread.message_loop()->PostNonNestableDelayedTask(FROM_HERE, task, kDelayMs);
|
| + thread.message_loop()->PostNonNestableDelayedTask(
|
| + FROM_HERE, base::Bind(&MockCallback::Run, base::Unretained(&task)),
|
| + kDelayMs);
|
| event.TimedWait(base::TimeDelta::FromMilliseconds(kDelayTimeoutMs));
|
| base::Time end = base::Time::Now();
|
| thread.Stop();
|
|
|