| 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 bbaad799ee0aec4a4d842fe6eca7e8d7b60b2f5e..e1447275f10995ad45c5ae899c852551bea54151 100644
|
| --- a/remoting/jingle_glue/jingle_thread_unittest.cc
|
| +++ b/remoting/jingle_glue/jingle_thread_unittest.cc
|
| @@ -33,6 +33,16 @@ TEST(JingleThreadTest, PostTask) {
|
| thread.Stop();
|
| }
|
|
|
| +TEST(JingleThreadTest, PostNonNestableTask) {
|
| + JingleThread thread;
|
| + MockTask* task = new MockTask();
|
| + EXPECT_CALL(*task, Run());
|
| +
|
| + thread.Start();
|
| + thread.message_loop()->PostNonNestableTask(FROM_HERE, task);
|
| + thread.Stop();
|
| +}
|
| +
|
| ACTION_P(SignalEvent, event) {
|
| event->Signal();
|
| }
|
| @@ -53,4 +63,20 @@ TEST(JingleThreadTest, PostDelayedTask) {
|
| EXPECT_GE((end - start).InMillisecondsRoundedUp(), kDelayMs);
|
| }
|
|
|
| +TEST(JingleThreadTest, PostNonNestableDelayedTask) {
|
| + JingleThread thread;
|
| + MockTask* task = new MockTask();
|
| + base::WaitableEvent event(true, false);
|
| + EXPECT_CALL(*task, Run()).WillOnce(SignalEvent(&event));
|
| +
|
| + thread.Start();
|
| + base::Time start = base::Time::Now();
|
| + thread.message_loop()->PostNonNestableDelayedTask(FROM_HERE, task, kDelayMs);
|
| + event.TimedWait(base::TimeDelta::FromMilliseconds(kDelayTimeoutMs));
|
| + base::Time end = base::Time::Now();
|
| + thread.Stop();
|
| +
|
| + EXPECT_GE((end - start).InMillisecondsRoundedUp(), kDelayMs);
|
| +}
|
| +
|
| } // namespace remoting
|
|
|