Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: jingle/glue/thread_wrapper_unittest.cc

Issue 14307021: jingle: Use base::MessageLoop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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.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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 ThreadWrapperTest() 79 ThreadWrapperTest()
80 : thread_(NULL) { 80 : thread_(NULL) {
81 } 81 }
82 82
83 virtual void SetUp() OVERRIDE { 83 virtual void SetUp() OVERRIDE {
84 JingleThreadWrapper::EnsureForCurrentMessageLoop(); 84 JingleThreadWrapper::EnsureForCurrentMessageLoop();
85 thread_ = talk_base::Thread::Current(); 85 thread_ = talk_base::Thread::Current();
86 } 86 }
87 87
88 // ThreadWrapper destroyes itself when |message_loop_| is destroyed. 88 // ThreadWrapper destroyes itself when |message_loop_| is destroyed.
89 MessageLoop message_loop_; 89 base::MessageLoop message_loop_;
90 talk_base::Thread* thread_; 90 talk_base::Thread* thread_;
91 MockMessageHandler handler1_; 91 MockMessageHandler handler1_;
92 MockMessageHandler handler2_; 92 MockMessageHandler handler2_;
93 }; 93 };
94 94
95 TEST_F(ThreadWrapperTest, Post) { 95 TEST_F(ThreadWrapperTest, Post) {
96 talk_base::MessageData* data1 = new talk_base::MessageData(); 96 talk_base::MessageData* data1 = new talk_base::MessageData();
97 talk_base::MessageData* data2 = new talk_base::MessageData(); 97 talk_base::MessageData* data2 = new talk_base::MessageData();
98 talk_base::MessageData* data3 = new talk_base::MessageData(); 98 talk_base::MessageData* data3 = new talk_base::MessageData();
99 talk_base::MessageData* data4 = new talk_base::MessageData(); 99 talk_base::MessageData* data4 = new talk_base::MessageData();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
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, MessageLoop::QuitClosure(), 151 FROM_HERE,
152 base::MessageLoop::QuitClosure(),
152 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); 153 base::TimeDelta::FromMilliseconds(kMaxTestDelay));
153 message_loop_.Run(); 154 message_loop_.Run();
awong 2013/04/27 00:35:04 Use a RunLoop?
154 } 155 }
155 156
156 TEST_F(ThreadWrapperTest, Clear) { 157 TEST_F(ThreadWrapperTest, Clear) {
157 thread_->Post(&handler1_, kTestMessage1, NULL); 158 thread_->Post(&handler1_, kTestMessage1, NULL);
158 thread_->Post(&handler1_, kTestMessage2, NULL); 159 thread_->Post(&handler1_, kTestMessage2, NULL);
159 thread_->Post(&handler2_, kTestMessage1, NULL); 160 thread_->Post(&handler2_, kTestMessage1, NULL);
160 thread_->Post(&handler2_, kTestMessage2, NULL); 161 thread_->Post(&handler2_, kTestMessage2, NULL);
161 162
162 thread_->Clear(&handler1_, kTestMessage2); 163 thread_->Clear(&handler1_, kTestMessage2);
163 164
(...skipping 28 matching lines...) Expand all
192 MatchMessage(&handler1_, kTestMessage1, null_data))) 193 MatchMessage(&handler1_, kTestMessage1, null_data)))
193 .WillOnce(DeleteMessageData()); 194 .WillOnce(DeleteMessageData());
194 EXPECT_CALL(handler2_, OnMessage( 195 EXPECT_CALL(handler2_, OnMessage(
195 MatchMessage(&handler2_, kTestMessage1, null_data))) 196 MatchMessage(&handler2_, kTestMessage1, null_data)))
196 .WillOnce(DeleteMessageData()); 197 .WillOnce(DeleteMessageData());
197 EXPECT_CALL(handler2_, OnMessage( 198 EXPECT_CALL(handler2_, OnMessage(
198 MatchMessage(&handler2_, kTestMessage1, null_data))) 199 MatchMessage(&handler2_, kTestMessage1, null_data)))
199 .WillOnce(DeleteMessageData()); 200 .WillOnce(DeleteMessageData());
200 201
201 message_loop_.PostDelayedTask( 202 message_loop_.PostDelayedTask(
202 FROM_HERE, MessageLoop::QuitClosure(), 203 FROM_HERE,
204 base::MessageLoop::QuitClosure(),
203 base::TimeDelta::FromMilliseconds(kMaxTestDelay)); 205 base::TimeDelta::FromMilliseconds(kMaxTestDelay));
204 message_loop_.Run(); 206 message_loop_.Run();
205 } 207 }
206 208
207 // Verify that the queue is cleared when a handler is destroyed. 209 // Verify that the queue is cleared when a handler is destroyed.
208 TEST_F(ThreadWrapperTest, ClearDestoroyed) { 210 TEST_F(ThreadWrapperTest, ClearDestoroyed) {
209 MockMessageHandler* handler_ptr; 211 MockMessageHandler* handler_ptr;
210 { 212 {
211 MockMessageHandler handler; 213 MockMessageHandler handler;
212 handler_ptr = &handler; 214 handler_ptr = &handler;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 299
298 TEST_F(ThreadWrapperTest, Dispose) { 300 TEST_F(ThreadWrapperTest, Dispose) {
299 bool deleted_; 301 bool deleted_;
300 thread_->Dispose(new DeletableObject(&deleted_)); 302 thread_->Dispose(new DeletableObject(&deleted_));
301 EXPECT_FALSE(deleted_); 303 EXPECT_FALSE(deleted_);
302 message_loop_.RunUntilIdle(); 304 message_loop_.RunUntilIdle();
303 EXPECT_TRUE(deleted_); 305 EXPECT_TRUE(deleted_);
304 } 306 }
305 307
306 } // namespace jingle_glue 308 } // namespace jingle_glue
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698