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

Side by Side Diff: content/renderer/media/webrtc/media_stream_remote_video_source_unittest.cc

Issue 2846933002: Use ScopedTaskEnvironment instead of MessageLoopForUI in content tests. (Closed)
Patch Set: self-review Created 3 years, 7 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/renderer/media/webrtc/media_stream_remote_video_source.h" 5 #include "content/renderer/media/webrtc/media_stream_remote_video_source.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/message_loop/message_loop.h"
11 #include "base/run_loop.h" 10 #include "base/run_loop.h"
12 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "base/test/scoped_task_environment.h"
13 #include "base/threading/thread_task_runner_handle.h" 13 #include "base/threading/thread_task_runner_handle.h"
14 #include "content/child/child_process.h" 14 #include "content/child/child_process.h"
15 #include "content/renderer/media/media_stream_video_track.h" 15 #include "content/renderer/media/media_stream_video_track.h"
16 #include "content/renderer/media/mock_media_stream_video_sink.h" 16 #include "content/renderer/media/mock_media_stream_video_sink.h"
17 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h" 17 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h"
18 #include "content/renderer/media/webrtc/track_observer.h" 18 #include "content/renderer/media/webrtc/track_observer.h"
19 #include "media/base/video_frame.h" 19 #include "media/base/video_frame.h"
20 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
21 #include "third_party/WebKit/public/web/WebHeap.h" 21 #include "third_party/WebKit/public/web/WebHeap.h"
22 22
23 namespace content { 23 namespace content {
24 24
25 ACTION_P(RunClosure, closure) { 25 ACTION_P(RunClosure, closure) {
26 closure.Run(); 26 closure.Run();
27 } 27 }
28 28
29 class MediaStreamRemoteVideoSourceUnderTest 29 class MediaStreamRemoteVideoSourceUnderTest
30 : public MediaStreamRemoteVideoSource { 30 : public MediaStreamRemoteVideoSource {
31 public: 31 public:
32 explicit MediaStreamRemoteVideoSourceUnderTest( 32 explicit MediaStreamRemoteVideoSourceUnderTest(
33 std::unique_ptr<TrackObserver> observer) 33 std::unique_ptr<TrackObserver> observer)
34 : MediaStreamRemoteVideoSource(std::move(observer)) {} 34 : MediaStreamRemoteVideoSource(std::move(observer)) {}
35 using MediaStreamRemoteVideoSource::SinkInterfaceForTest; 35 using MediaStreamRemoteVideoSource::SinkInterfaceForTest;
36 }; 36 };
37 37
38 class MediaStreamRemoteVideoSourceTest 38 class MediaStreamRemoteVideoSourceTest
39 : public ::testing::Test { 39 : public ::testing::Test {
40 public: 40 public:
41 MediaStreamRemoteVideoSourceTest() 41 MediaStreamRemoteVideoSourceTest()
42 : child_process_(new ChildProcess()), 42 : scoped_task_environment_(
43 base::test::ScopedTaskEnvironment::MainThreadType::UI),
44 child_process_(new ChildProcess()),
43 mock_factory_(new MockPeerConnectionDependencyFactory()), 45 mock_factory_(new MockPeerConnectionDependencyFactory()),
44 webrtc_video_track_(MockWebRtcVideoTrack::Create("test")), 46 webrtc_video_track_(MockWebRtcVideoTrack::Create("test")),
45 remote_source_(new MediaStreamRemoteVideoSourceUnderTest( 47 remote_source_(new MediaStreamRemoteVideoSourceUnderTest(
46 std::unique_ptr<TrackObserver>( 48 std::unique_ptr<TrackObserver>(
47 new TrackObserver(base::ThreadTaskRunnerHandle::Get(), 49 new TrackObserver(base::ThreadTaskRunnerHandle::Get(),
48 webrtc_video_track_.get())))), 50 webrtc_video_track_.get())))),
49 number_of_successful_track_starts_(0), 51 number_of_successful_track_starts_(0),
50 number_of_failed_track_starts_(0) { 52 number_of_failed_track_starts_(0) {
51 webkit_source_.Initialize(blink::WebString::FromASCII("dummy_source_id"), 53 webkit_source_.Initialize(blink::WebString::FromASCII("dummy_source_id"),
52 blink::WebMediaStreamSource::kTypeVideo, 54 blink::WebMediaStreamSource::kTypeVideo,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 void OnTrackStarted(MediaStreamSource* source, 96 void OnTrackStarted(MediaStreamSource* source,
95 MediaStreamRequestResult result, 97 MediaStreamRequestResult result,
96 const blink::WebString& result_name) { 98 const blink::WebString& result_name) {
97 ASSERT_EQ(source, remote_source_); 99 ASSERT_EQ(source, remote_source_);
98 if (result == MEDIA_DEVICE_OK) 100 if (result == MEDIA_DEVICE_OK)
99 ++number_of_successful_track_starts_; 101 ++number_of_successful_track_starts_;
100 else 102 else
101 ++number_of_failed_track_starts_; 103 ++number_of_failed_track_starts_;
102 } 104 }
103 105
104 base::MessageLoopForUI message_loop_; 106 base::test::ScopedTaskEnvironment scoped_task_environment_;
105 std::unique_ptr<ChildProcess> child_process_; 107 std::unique_ptr<ChildProcess> child_process_;
106 std::unique_ptr<MockPeerConnectionDependencyFactory> mock_factory_; 108 std::unique_ptr<MockPeerConnectionDependencyFactory> mock_factory_;
107 scoped_refptr<webrtc::VideoTrackInterface> webrtc_video_track_; 109 scoped_refptr<webrtc::VideoTrackInterface> webrtc_video_track_;
108 // |remote_source_| is owned by |webkit_source_|. 110 // |remote_source_| is owned by |webkit_source_|.
109 MediaStreamRemoteVideoSourceUnderTest* remote_source_; 111 MediaStreamRemoteVideoSourceUnderTest* remote_source_;
110 blink::WebMediaStreamSource webkit_source_; 112 blink::WebMediaStreamSource webkit_source_;
111 int number_of_successful_track_starts_; 113 int number_of_successful_track_starts_;
112 int number_of_failed_track_starts_; 114 int number_of_failed_track_starts_;
113 }; 115 };
114 116
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 StopWebRtcTrack(); 148 StopWebRtcTrack();
147 base::RunLoop().RunUntilIdle(); 149 base::RunLoop().RunUntilIdle();
148 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded, 150 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded,
149 webkit_source().GetReadyState()); 151 webkit_source().GetReadyState());
150 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded, sink.state()); 152 EXPECT_EQ(blink::WebMediaStreamSource::kReadyStateEnded, sink.state());
151 153
152 track->RemoveSink(&sink); 154 track->RemoveSink(&sink);
153 } 155 }
154 156
155 } // namespace content 157 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698