Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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.h" | 7 #include "base/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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 140 EXPECT_CALL(handler1_, OnMessage( | 140 EXPECT_CALL(handler1_, OnMessage( |
| 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(FROM_HERE, MessageLoop::QuitClosure(), | 150 message_loop_.PostDelayedTask( |
| 151 kMaxTestDelay); | 151 FROM_HERE, |
| 152 MessageLoop::QuitClosure(), | |
|
Sergey Ulanov
2012/03/04 19:54:07
nit: move this to the previous line.
| |
| 153 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); | |
| 152 message_loop_.Run(); | 154 message_loop_.Run(); |
| 153 } | 155 } |
| 154 | 156 |
| 155 TEST_F(ThreadWrapperTest, Clear) { | 157 TEST_F(ThreadWrapperTest, Clear) { |
| 156 thread_->Post(&handler1_, kTestMessage1, NULL); | 158 thread_->Post(&handler1_, kTestMessage1, NULL); |
| 157 thread_->Post(&handler1_, kTestMessage2, NULL); | 159 thread_->Post(&handler1_, kTestMessage2, NULL); |
| 158 thread_->Post(&handler2_, kTestMessage1, NULL); | 160 thread_->Post(&handler2_, kTestMessage1, NULL); |
| 159 thread_->Post(&handler2_, kTestMessage2, NULL); | 161 thread_->Post(&handler2_, kTestMessage2, NULL); |
| 160 | 162 |
| 161 thread_->Clear(&handler1_, kTestMessage2); | 163 thread_->Clear(&handler1_, kTestMessage2); |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 190 EXPECT_CALL(handler1_, OnMessage( | 192 EXPECT_CALL(handler1_, OnMessage( |
| 191 MatchMessage(&handler1_, kTestMessage1, null_data))) | 193 MatchMessage(&handler1_, kTestMessage1, null_data))) |
| 192 .WillOnce(DeleteMessageData()); | 194 .WillOnce(DeleteMessageData()); |
| 193 EXPECT_CALL(handler2_, OnMessage( | 195 EXPECT_CALL(handler2_, OnMessage( |
| 194 MatchMessage(&handler2_, kTestMessage1, null_data))) | 196 MatchMessage(&handler2_, kTestMessage1, null_data))) |
| 195 .WillOnce(DeleteMessageData()); | 197 .WillOnce(DeleteMessageData()); |
| 196 EXPECT_CALL(handler2_, OnMessage( | 198 EXPECT_CALL(handler2_, OnMessage( |
| 197 MatchMessage(&handler2_, kTestMessage1, null_data))) | 199 MatchMessage(&handler2_, kTestMessage1, null_data))) |
| 198 .WillOnce(DeleteMessageData()); | 200 .WillOnce(DeleteMessageData()); |
| 199 | 201 |
| 200 message_loop_.PostDelayedTask(FROM_HERE, MessageLoop::QuitClosure(), | 202 message_loop_.PostDelayedTask( |
| 201 kMaxTestDelay); | 203 FROM_HERE, |
| 204 MessageLoop::QuitClosure(), | |
|
Sergey Ulanov
2012/03/04 19:54:07
same here.
| |
| 205 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); | |
| 202 message_loop_.Run(); | 206 message_loop_.Run(); |
| 203 } | 207 } |
| 204 | 208 |
| 205 // Verify that the queue is cleared when a handler is destroyed. | 209 // Verify that the queue is cleared when a handler is destroyed. |
| 206 TEST_F(ThreadWrapperTest, ClearDestoroyed) { | 210 TEST_F(ThreadWrapperTest, ClearDestoroyed) { |
| 207 MockMessageHandler* handler_ptr; | 211 MockMessageHandler* handler_ptr; |
| 208 { | 212 { |
| 209 MockMessageHandler handler; | 213 MockMessageHandler handler; |
| 210 handler_ptr = &handler; | 214 handler_ptr = &handler; |
| 211 thread_->Post(&handler, kTestMessage1, NULL); | 215 thread_->Post(&handler, kTestMessage1, NULL); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 295 | 299 |
| 296 TEST_F(ThreadWrapperTest, Dispose) { | 300 TEST_F(ThreadWrapperTest, Dispose) { |
| 297 bool deleted_; | 301 bool deleted_; |
| 298 thread_->Dispose(new DeletableObject(&deleted_)); | 302 thread_->Dispose(new DeletableObject(&deleted_)); |
| 299 EXPECT_FALSE(deleted_); | 303 EXPECT_FALSE(deleted_); |
| 300 message_loop_.RunAllPending(); | 304 message_loop_.RunAllPending(); |
| 301 EXPECT_TRUE(deleted_); | 305 EXPECT_TRUE(deleted_); |
| 302 } | 306 } |
| 303 | 307 |
| 304 } // namespace jingle_glue | 308 } // namespace jingle_glue |
| OLD | NEW |