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 |