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

Side by Side Diff: media/base/mock_callback.cc

Issue 11316293: Replace WaitableEvents and ConditionalVariables in VideoRendererBase tests with MessageLoop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 "media/base/mock_callback.h" 5 #include "media/base/mock_callback.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h"
8 9
9 using ::testing::_; 10 using ::testing::_;
10 using ::testing::StrictMock; 11 using ::testing::StrictMock;
11 12
12 namespace media { 13 namespace media {
13 14
14 MockClosure::MockClosure() {} 15 MockClosure::MockClosure() {}
15 MockClosure::~MockClosure() {} 16 MockClosure::~MockClosure() {}
16 17
17 base::Closure NewExpectedClosure() { 18 base::Closure NewExpectedClosure() {
18 StrictMock<MockClosure>* callback = new StrictMock<MockClosure>(); 19 StrictMock<MockClosure>* callback = new StrictMock<MockClosure>();
19 EXPECT_CALL(*callback, Run()); 20 EXPECT_CALL(*callback, Run());
20 return base::Bind(&MockClosure::Run, callback); 21 return base::Bind(&MockClosure::Run, callback);
21 } 22 }
22 23
23 class MockStatusCB : public base::RefCountedThreadSafe<MockStatusCB> { 24 class MockStatusCB : public base::RefCountedThreadSafe<MockStatusCB> {
24 public: 25 public:
25 MockStatusCB() {} 26 MockStatusCB() {}
26 MOCK_METHOD1(Run, void(PipelineStatus)); 27 MOCK_METHOD1(Run, void(PipelineStatus));
27 28
28 protected: 29 protected:
29 friend class base::RefCountedThreadSafe<MockStatusCB>; 30 friend class base::RefCountedThreadSafe<MockStatusCB>;
30 virtual ~MockStatusCB() {} 31 virtual ~MockStatusCB() {}
31 32
32 private: 33 private:
33 DISALLOW_COPY_AND_ASSIGN(MockStatusCB); 34 DISALLOW_COPY_AND_ASSIGN(MockStatusCB);
34 }; 35 };
35 36
36 base::Callback<void(PipelineStatus)> NewExpectedStatusCB( 37 PipelineStatusCB NewExpectedStatusCB(PipelineStatus status) {
37 PipelineStatus status) {
38 StrictMock<MockStatusCB>* callback = new StrictMock<MockStatusCB>(); 38 StrictMock<MockStatusCB>* callback = new StrictMock<MockStatusCB>();
39 EXPECT_CALL(*callback, Run(status)); 39 EXPECT_CALL(*callback, Run(status));
40 return base::Bind(&MockStatusCB::Run, callback); 40 return base::Bind(&MockStatusCB::Run, callback);
41 } 41 }
42 42
43 static void RunStatusCBAndQuit(
44 const scoped_refptr<base::MessageLoopProxy> message_loop,
45 PipelineStatusCB status_cb,
46 PipelineStatus status) {
47 status_cb.Run(status);
48 message_loop->PostTask(FROM_HERE, MessageLoop::QuitWhenIdleClosure());
49 }
50
51 PipelineStatusCB NewExpectedStatusAndQuitCB(PipelineStatus status) {
52 StrictMock<MockStatusCB>* callback = new StrictMock<MockStatusCB>();
53 EXPECT_CALL(*callback, Run(status));
54 return base::Bind(&RunStatusCBAndQuit, base::MessageLoopProxy::current(),
55 base::Bind(&MockStatusCB::Run, callback));
56 }
57
43 } // namespace media 58 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698