OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "base/threading/thread.h" | 8 #include "base/threading/thread.h" |
9 #include "jingle/glue/thread_wrapper.h" | 9 #include "jingle/glue/thread_wrapper.h" |
10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 MatchMessage(&handler1_, kTestMessage2, data2))) | 141 MatchMessage(&handler1_, kTestMessage2, data2))) |
142 .WillOnce(DeleteMessageData()); | 142 .WillOnce(DeleteMessageData()); |
143 EXPECT_CALL(handler2_, OnMessage( | 143 EXPECT_CALL(handler2_, OnMessage( |
144 MatchMessage(&handler2_, kTestMessage1, data3))) | 144 MatchMessage(&handler2_, kTestMessage1, data3))) |
145 .WillOnce(DeleteMessageData()); | 145 .WillOnce(DeleteMessageData()); |
146 EXPECT_CALL(handler2_, OnMessage( | 146 EXPECT_CALL(handler2_, OnMessage( |
147 MatchMessage(&handler2_, kTestMessage1, data4))) | 147 MatchMessage(&handler2_, kTestMessage1, data4))) |
148 .WillOnce(DeleteMessageData()); | 148 .WillOnce(DeleteMessageData()); |
149 | 149 |
150 message_loop_.PostDelayedTask( | 150 message_loop_.PostDelayedTask( |
151 FROM_HERE, | 151 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), |
152 base::MessageLoop::QuitClosure(), | |
153 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); | 152 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); |
154 message_loop_.Run(); | 153 message_loop_.Run(); |
155 } | 154 } |
156 | 155 |
157 TEST_F(ThreadWrapperTest, Clear) { | 156 TEST_F(ThreadWrapperTest, Clear) { |
158 thread_->Post(&handler1_, kTestMessage1, NULL); | 157 thread_->Post(&handler1_, kTestMessage1, NULL); |
159 thread_->Post(&handler1_, kTestMessage2, NULL); | 158 thread_->Post(&handler1_, kTestMessage2, NULL); |
160 thread_->Post(&handler2_, kTestMessage1, NULL); | 159 thread_->Post(&handler2_, kTestMessage1, NULL); |
161 thread_->Post(&handler2_, kTestMessage2, NULL); | 160 thread_->Post(&handler2_, kTestMessage2, NULL); |
162 | 161 |
(...skipping 30 matching lines...) Expand all Loading... |
193 MatchMessage(&handler1_, kTestMessage1, null_data))) | 192 MatchMessage(&handler1_, kTestMessage1, null_data))) |
194 .WillOnce(DeleteMessageData()); | 193 .WillOnce(DeleteMessageData()); |
195 EXPECT_CALL(handler2_, OnMessage( | 194 EXPECT_CALL(handler2_, OnMessage( |
196 MatchMessage(&handler2_, kTestMessage1, null_data))) | 195 MatchMessage(&handler2_, kTestMessage1, null_data))) |
197 .WillOnce(DeleteMessageData()); | 196 .WillOnce(DeleteMessageData()); |
198 EXPECT_CALL(handler2_, OnMessage( | 197 EXPECT_CALL(handler2_, OnMessage( |
199 MatchMessage(&handler2_, kTestMessage1, null_data))) | 198 MatchMessage(&handler2_, kTestMessage1, null_data))) |
200 .WillOnce(DeleteMessageData()); | 199 .WillOnce(DeleteMessageData()); |
201 | 200 |
202 message_loop_.PostDelayedTask( | 201 message_loop_.PostDelayedTask( |
203 FROM_HERE, | 202 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure(), |
204 base::MessageLoop::QuitClosure(), | |
205 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); | 203 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); |
206 message_loop_.Run(); | 204 message_loop_.Run(); |
207 } | 205 } |
208 | 206 |
209 // Verify that the queue is cleared when a handler is destroyed. | 207 // Verify that the queue is cleared when a handler is destroyed. |
210 TEST_F(ThreadWrapperTest, ClearDestoroyed) { | 208 TEST_F(ThreadWrapperTest, ClearDestoroyed) { |
211 MockMessageHandler* handler_ptr; | 209 MockMessageHandler* handler_ptr; |
212 { | 210 { |
213 MockMessageHandler handler; | 211 MockMessageHandler handler; |
214 handler_ptr = &handler; | 212 handler_ptr = &handler; |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 | 297 |
300 TEST_F(ThreadWrapperTest, Dispose) { | 298 TEST_F(ThreadWrapperTest, Dispose) { |
301 bool deleted_ = false; | 299 bool deleted_ = false; |
302 thread_->Dispose(new DeletableObject(&deleted_)); | 300 thread_->Dispose(new DeletableObject(&deleted_)); |
303 EXPECT_FALSE(deleted_); | 301 EXPECT_FALSE(deleted_); |
304 message_loop_.RunUntilIdle(); | 302 message_loop_.RunUntilIdle(); |
305 EXPECT_TRUE(deleted_); | 303 EXPECT_TRUE(deleted_); |
306 } | 304 } |
307 | 305 |
308 } // namespace jingle_glue | 306 } // namespace jingle_glue |
OLD | NEW |