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

Side by Side Diff: chromecast/browser/cast_media_blocker_unittest.cc

Issue 2623953002: [Chromecast] Fix media session blocking tests. (Closed)
Patch Set: Removed stale TODO Created 3 years, 11 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chromecast/browser/cast_media_blocker.h" 5 #include "chromecast/browser/cast_media_blocker.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "content/public/browser/media_session.h" 10 #include "content/public/browser/media_session.h"
11 #include "content/public/browser/web_contents.h" 11 #include "content/public/test/mock_media_session.h"
12 #include "content/public/test/test_content_client_initializer.h" 12 #include "content/public/test/test_content_client_initializer.h"
13 #include "content/public/test/test_renderer_host.h" 13 #include "content/public/test/test_renderer_host.h"
14 #include "content/public/test/web_contents_tester.h"
15 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "ui/gl/test/gl_surface_test_support.h"
17 17
18 namespace chromecast { 18 namespace chromecast {
19 namespace shell { 19 namespace shell {
20 20
21 using ::testing::_; 21 using ::testing::_;
22 using ::testing::Invoke; 22 using ::testing::Invoke;
23 23
24 class MockMediaSession : public content::MediaSession {
25 public:
26 explicit MockMediaSession(content::MediaSession* session) {
27 // Delegate the calls to the real MediaSession.
28 ON_CALL(*this, Resume(_))
29 .WillByDefault(Invoke(session, &MediaSession::Resume));
30 ON_CALL(*this, Suspend(_))
31 .WillByDefault(Invoke(session, &MediaSession::Suspend));
32 ON_CALL(*this, Stop(_)).WillByDefault(Invoke(session, &MediaSession::Stop));
33 ON_CALL(*this, DidReceiveAction(_))
34 .WillByDefault(Invoke(session, &MediaSession::DidReceiveAction));
35 }
36 ~MockMediaSession() {}
37
38 MOCK_METHOD1(Resume, void(content::MediaSession::SuspendType));
39 MOCK_METHOD1(Suspend, void(content::MediaSession::SuspendType));
40 MOCK_METHOD1(Stop, void(content::MediaSession::SuspendType));
41 MOCK_METHOD0(StartDucking, void());
42 MOCK_METHOD0(StopDucking, void());
43 MOCK_METHOD1(DidReceiveAction, void(blink::mojom::MediaSessionAction));
44
45 private:
46 DISALLOW_COPY_AND_ASSIGN(MockMediaSession);
47 };
48
49 class CastMediaBlockerTest : public content::RenderViewHostTestHarness { 24 class CastMediaBlockerTest : public content::RenderViewHostTestHarness {
50 public: 25 public:
51 CastMediaBlockerTest() {} 26 CastMediaBlockerTest() {}
52 ~CastMediaBlockerTest() override {} 27 ~CastMediaBlockerTest() override {}
53 28
54 void SetUp() override { 29 void SetUp() override {
30 gl::GLSurfaceTestSupport::InitializeOneOff();
55 initializer_ = base::MakeUnique<content::TestContentClientInitializer>(); 31 initializer_ = base::MakeUnique<content::TestContentClientInitializer>();
56 content::RenderViewHostTestHarness::SetUp(); 32 content::RenderViewHostTestHarness::SetUp();
57 media_session_ = base::MakeUnique<MockMediaSession>( 33 media_session_ = base::MakeUnique<content::MockMediaSession>();
58 content::MediaSession::Get(web_contents()));
59 media_blocker_ = base::MakeUnique<CastMediaBlocker>(media_session_.get()); 34 media_blocker_ = base::MakeUnique<CastMediaBlocker>(media_session_.get());
60
61 content::WebContentsTester::For(web_contents())
62 ->NavigateAndCommit(GURL("https://www.youtube.com"));
63 } 35 }
64 36
65 void TearDown() override { content::RenderViewHostTestHarness::TearDown(); } 37 void TearDown() override { content::RenderViewHostTestHarness::TearDown(); }
66 38
67 void MediaSessionChanged(bool controllable, bool suspended) { 39 void MediaSessionChanged(bool controllable, bool suspended) {
68 media_blocker_->MediaSessionStateChanged(controllable, suspended); 40 media_blocker_->MediaSessionStateChanged(controllable, suspended);
69 } 41 }
70 42
71 protected: 43 protected:
72 std::unique_ptr<content::TestContentClientInitializer> initializer_; 44 std::unique_ptr<content::TestContentClientInitializer> initializer_;
73 std::unique_ptr<MockMediaSession> media_session_; 45 std::unique_ptr<content::MockMediaSession> media_session_;
74 std::unique_ptr<CastMediaBlocker> media_blocker_; 46 std::unique_ptr<CastMediaBlocker> media_blocker_;
75 47
76 private: 48 private:
77 DISALLOW_COPY_AND_ASSIGN(CastMediaBlockerTest); 49 DISALLOW_COPY_AND_ASSIGN(CastMediaBlockerTest);
78 }; 50 };
79 51
80 // TODO(derekjchow): Make the tests pass on cast testbots.
81 // crbug.com/665118
82 52
83 TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Suspended) { 53 TEST_F(CastMediaBlockerTest, Block_Unblock_Suspended) {
84 // Testing block/unblock operations do nothing if media never plays. 54 // Testing block/unblock operations do nothing if media never plays.
85 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 55 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
86 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 56 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
87 media_blocker_->BlockMediaLoading(true); 57 media_blocker_->BlockMediaLoading(true);
88 media_blocker_->BlockMediaLoading(false); 58 media_blocker_->BlockMediaLoading(false);
89 59
90 MediaSessionChanged(true, true); 60 MediaSessionChanged(true, true);
91 media_blocker_->BlockMediaLoading(true); 61 media_blocker_->BlockMediaLoading(true);
92 media_blocker_->BlockMediaLoading(false); 62 media_blocker_->BlockMediaLoading(false);
93 63
94 media_blocker_->BlockMediaLoading(true); 64 media_blocker_->BlockMediaLoading(true);
95 MediaSessionChanged(false, true); 65 MediaSessionChanged(false, true);
96 media_blocker_->BlockMediaLoading(false); 66 media_blocker_->BlockMediaLoading(false);
97 } 67 }
98 68
99 TEST_F(CastMediaBlockerTest, DISABLED_No_Block) { 69 TEST_F(CastMediaBlockerTest, No_Block) {
100 // Tests CastMediaBlocker does nothing if block/unblock is not called. 70 // Tests CastMediaBlocker does nothing if block/unblock is not called.
101 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 71 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
102 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 72 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
103 73
104 // Media becomes controllable/uncontrollable. 74 // Media becomes controllable/uncontrollable.
105 MediaSessionChanged(true, true); 75 MediaSessionChanged(true, true);
106 MediaSessionChanged(false, true); 76 MediaSessionChanged(false, true);
107 77
108 // Media starts and stops. 78 // Media starts and stops.
109 MediaSessionChanged(false, false); 79 MediaSessionChanged(false, false);
110 MediaSessionChanged(false, true); 80 MediaSessionChanged(false, true);
111 81
112 // Media starts, changes controllability and stops. 82 // Media starts, changes controllability and stops.
113 MediaSessionChanged(false, false); 83 MediaSessionChanged(false, false);
114 MediaSessionChanged(true, false); 84 MediaSessionChanged(true, false);
115 MediaSessionChanged(false, false); 85 MediaSessionChanged(false, false);
116 MediaSessionChanged(false, true); 86 MediaSessionChanged(false, true);
117 87
118 // Media starts, changes controllability and stops. 88 // Media starts, changes controllability and stops.
119 MediaSessionChanged(false, false); 89 MediaSessionChanged(false, false);
120 MediaSessionChanged(true, false); 90 MediaSessionChanged(true, false);
121 MediaSessionChanged(true, true); 91 MediaSessionChanged(true, true);
122 } 92 }
123 93
124 TEST_F(CastMediaBlockerTest, DISABLED_Block_Before_Controllable) { 94 TEST_F(CastMediaBlockerTest, Block_Before_Controllable) {
125 // Tests CastMediaBlocker only suspends when controllable. 95 // Tests CastMediaBlocker only suspends when controllable.
126 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 96 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
127 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 97 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
128 media_blocker_->BlockMediaLoading(true); 98 media_blocker_->BlockMediaLoading(true);
129 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 99 testing::Mock::VerifyAndClearExpectations(media_session_.get());
130 100
131 // Session becomes controllable 101 // Session becomes controllable
132 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 102 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
133 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 103 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
134 MediaSessionChanged(true, false); 104 MediaSessionChanged(true, false);
135 } 105 }
136 106
137 TEST_F(CastMediaBlockerTest, DISABLED_Block_After_Controllable) { 107 TEST_F(CastMediaBlockerTest, Block_After_Controllable) {
138 // Tests CastMediaBlocker suspends immediately on block if controllable. 108 // Tests CastMediaBlocker suspends immediately on block if controllable.
139 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 109 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
140 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 110 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
141 MediaSessionChanged(true, false); 111 MediaSessionChanged(true, false);
142 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 112 testing::Mock::VerifyAndClearExpectations(media_session_.get());
143 113
144 // Block when media is playing 114 // Block when media is playing
145 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 115 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
146 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 116 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
147 media_blocker_->BlockMediaLoading(true); 117 media_blocker_->BlockMediaLoading(true);
148 MediaSessionChanged(true, true); 118 MediaSessionChanged(true, true);
149 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 119 testing::Mock::VerifyAndClearExpectations(media_session_.get());
150 120
151 // Unblock 121 // Unblock
152 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 122 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
153 EXPECT_CALL(*media_session_, Resume(_)).Times(1); 123 EXPECT_CALL(*media_session_, Resume(_)).Times(1);
154 media_blocker_->BlockMediaLoading(false); 124 media_blocker_->BlockMediaLoading(false);
155 } 125 }
156 126
157 TEST_F(CastMediaBlockerTest, DISABLED_Block_Multiple) { 127 TEST_F(CastMediaBlockerTest, Block_Multiple) {
158 // Tests CastMediaBlocker repeatively suspends when blocked. 128 // Tests CastMediaBlocker repeatively suspends when blocked.
159 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 129 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
160 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 130 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
161 media_blocker_->BlockMediaLoading(true); 131 media_blocker_->BlockMediaLoading(true);
162 MediaSessionChanged(false, false); 132 MediaSessionChanged(false, false);
163 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 133 testing::Mock::VerifyAndClearExpectations(media_session_.get());
164 134
165 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 135 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
166 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 136 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
167 MediaSessionChanged(true, false); 137 MediaSessionChanged(true, false);
168 MediaSessionChanged(true, true); 138 MediaSessionChanged(true, true);
169 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 139 testing::Mock::VerifyAndClearExpectations(media_session_.get());
170 140
171 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 141 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
172 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 142 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
173 MediaSessionChanged(true, false); 143 MediaSessionChanged(true, false);
174 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 144 testing::Mock::VerifyAndClearExpectations(media_session_.get());
175 MediaSessionChanged(true, true); 145 MediaSessionChanged(true, true);
176 146
177 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 147 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
178 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 148 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
179 MediaSessionChanged(false, true); 149 MediaSessionChanged(false, true);
180 MediaSessionChanged(false, false); 150 MediaSessionChanged(false, false);
181 MediaSessionChanged(false, true); 151 MediaSessionChanged(false, true);
182 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 152 testing::Mock::VerifyAndClearExpectations(media_session_.get());
183 } 153 }
184 154
185 TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Uncontrollable) { 155 TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable) {
186 // Tests CastMediaBlocker does not suspend or resume when uncontrollable. 156 // Tests CastMediaBlocker does not suspend or resume when uncontrollable.
187 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 157 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
188 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 158 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
189 media_blocker_->BlockMediaLoading(true); 159 media_blocker_->BlockMediaLoading(true);
190 MediaSessionChanged(false, false); 160 MediaSessionChanged(false, false);
191 media_blocker_->BlockMediaLoading(false); 161 media_blocker_->BlockMediaLoading(false);
192 media_blocker_->BlockMediaLoading(true); 162 media_blocker_->BlockMediaLoading(true);
193 MediaSessionChanged(false, true); 163 MediaSessionChanged(false, true);
194 media_blocker_->BlockMediaLoading(false); 164 media_blocker_->BlockMediaLoading(false);
195 media_blocker_->BlockMediaLoading(true); 165 media_blocker_->BlockMediaLoading(true);
196 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 166 testing::Mock::VerifyAndClearExpectations(media_session_.get());
197 } 167 }
198 168
199 TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Uncontrollable2) { 169 TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable2) {
200 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 170 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
201 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 171 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
202 MediaSessionChanged(true, true); 172 MediaSessionChanged(true, true);
203 media_blocker_->BlockMediaLoading(true); 173 media_blocker_->BlockMediaLoading(true);
204 MediaSessionChanged(false, true); 174 MediaSessionChanged(false, true);
205 MediaSessionChanged(true, true); 175 MediaSessionChanged(true, true);
206 MediaSessionChanged(true, false); 176 MediaSessionChanged(true, false);
207 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 177 testing::Mock::VerifyAndClearExpectations(media_session_.get());
208 178
209 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 179 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
210 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 180 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
211 MediaSessionChanged(false, false); 181 MediaSessionChanged(false, false);
212 MediaSessionChanged(false, true); 182 MediaSessionChanged(false, true);
213 MediaSessionChanged(true, true); 183 MediaSessionChanged(true, true);
214 MediaSessionChanged(true, false); 184 MediaSessionChanged(true, false);
215 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 185 testing::Mock::VerifyAndClearExpectations(media_session_.get());
216 186
217 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 187 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
218 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 188 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
219 media_blocker_->BlockMediaLoading(false); 189 media_blocker_->BlockMediaLoading(false);
220 } 190 }
221 191
222 TEST_F(CastMediaBlockerTest, DISABLED_Resume_When_Controllable) { 192 TEST_F(CastMediaBlockerTest, Resume_When_Controllable) {
223 // Tests CastMediaBlocker will only resume after unblock when controllable. 193 // Tests CastMediaBlocker will only resume after unblock when controllable.
224 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 194 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
225 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 195 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
226 MediaSessionChanged(true, false); 196 MediaSessionChanged(true, false);
227 media_blocker_->BlockMediaLoading(true); 197 media_blocker_->BlockMediaLoading(true);
228 MediaSessionChanged(true, true); 198 MediaSessionChanged(true, true);
229 MediaSessionChanged(false, true); 199 MediaSessionChanged(false, true);
230 media_blocker_->BlockMediaLoading(false); 200 media_blocker_->BlockMediaLoading(false);
231 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 201 testing::Mock::VerifyAndClearExpectations(media_session_.get());
232 202
233 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 203 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
234 EXPECT_CALL(*media_session_, Resume(_)).Times(1); 204 EXPECT_CALL(*media_session_, Resume(_)).Times(1);
235 MediaSessionChanged(true, true); 205 MediaSessionChanged(true, true);
236 } 206 }
237 207
238 TEST_F(CastMediaBlockerTest, DISABLED_No_Resume) { 208 TEST_F(CastMediaBlockerTest, No_Resume) {
239 // Tests CastMediaBlocker will not resume if media starts playing by itself 209 // Tests CastMediaBlocker will not resume if media starts playing by itself
240 // after unblock. 210 // after unblock.
241 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 211 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
242 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 212 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
243 MediaSessionChanged(true, false); 213 MediaSessionChanged(true, false);
244 media_blocker_->BlockMediaLoading(true); 214 media_blocker_->BlockMediaLoading(true);
245 MediaSessionChanged(true, true); 215 MediaSessionChanged(true, true);
246 MediaSessionChanged(false, true); 216 MediaSessionChanged(false, true);
247 media_blocker_->BlockMediaLoading(false); 217 media_blocker_->BlockMediaLoading(false);
248 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 218 testing::Mock::VerifyAndClearExpectations(media_session_.get());
249 219
250 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 220 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
251 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 221 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
252 MediaSessionChanged(false, false); 222 MediaSessionChanged(false, false);
253 } 223 }
254 224
255 TEST_F(CastMediaBlockerTest, DISABLED_Block_Before_Resume) { 225 TEST_F(CastMediaBlockerTest, Block_Before_Resume) {
256 // Tests CastMediaBlocker does not resume if blocked again after an unblock. 226 // Tests CastMediaBlocker does not resume if blocked again after an unblock.
257 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 227 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
258 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 228 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
259 MediaSessionChanged(true, false); 229 MediaSessionChanged(true, false);
260 media_blocker_->BlockMediaLoading(true); 230 media_blocker_->BlockMediaLoading(true);
261 MediaSessionChanged(true, true); 231 MediaSessionChanged(true, true);
262 MediaSessionChanged(false, true); 232 MediaSessionChanged(false, true);
263 media_blocker_->BlockMediaLoading(false); 233 media_blocker_->BlockMediaLoading(false);
264 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 234 testing::Mock::VerifyAndClearExpectations(media_session_.get());
265 235
266 EXPECT_CALL(*media_session_, Suspend(_)).Times(0); 236 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
267 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 237 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
268 media_blocker_->BlockMediaLoading(true); 238 media_blocker_->BlockMediaLoading(true);
269 MediaSessionChanged(true, true); 239 MediaSessionChanged(true, true);
270 } 240 }
271 241
272 TEST_F(CastMediaBlockerTest, DISABLED_Unblocked_Already_Playing) { 242 TEST_F(CastMediaBlockerTest, Unblocked_Already_Playing) {
273 // Tests CastMediaBlocker does not resume if unblocked and media is playing. 243 // Tests CastMediaBlocker does not resume if unblocked and media is playing.
274 EXPECT_CALL(*media_session_, Suspend(_)).Times(1); 244 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
275 EXPECT_CALL(*media_session_, Resume(_)).Times(0); 245 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
276 MediaSessionChanged(true, false); 246 MediaSessionChanged(true, false);
277 media_blocker_->BlockMediaLoading(true); 247 media_blocker_->BlockMediaLoading(true);
278 media_blocker_->BlockMediaLoading(false); 248 media_blocker_->BlockMediaLoading(false);
279 } 249 }
280 250
281 } // namespace shell 251 } // namespace shell
282 } // namespace chromecast 252 } // namespace chromecast
OLDNEW
« no previous file with comments | « no previous file | content/browser/media/session/media_session_impl.h » ('j') | content/public/test/mock_media_session.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698