Chromium Code Reviews| Index: chromecast/browser/cast_media_blocker_unittest.cc |
| diff --git a/chromecast/browser/cast_media_blocker_unittest.cc b/chromecast/browser/cast_media_blocker_unittest.cc |
| index dddb0082c90c5dfdcb58e5bde95266b71eb858e1..c4a3ca1c717c6824ce5df009c1d1c261c4a44dfd 100644 |
| --- a/chromecast/browser/cast_media_blocker_unittest.cc |
| +++ b/chromecast/browser/cast_media_blocker_unittest.cc |
| @@ -8,12 +8,11 @@ |
| #include "base/memory/ptr_util.h" |
| #include "content/public/browser/media_session.h" |
| -#include "content/public/browser/web_contents.h" |
| #include "content/public/test/test_content_client_initializer.h" |
| #include "content/public/test/test_renderer_host.h" |
| -#include "content/public/test/web_contents_tester.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "ui/gl/test/gl_surface_test_support.h" |
| namespace chromecast { |
| namespace shell { |
| @@ -23,16 +22,7 @@ using ::testing::Invoke; |
| class MockMediaSession : public content::MediaSession { |
|
alokp
2017/01/14 00:23:28
nit: can we move this mock class into content/publ
derekjchow1
2017/01/18 02:25:33
Anton, Zhiqiang, Mounir, would this be ok? I'd be
Zhiqiang Zhang (Slow)
2017/01/18 21:57:51
I'm not sure content owners is happy with this.
Ma
derekjchow1
2017/01/19 01:28:14
SGTM. To be clear, you'd be ok with that location?
Zhiqiang Zhang (Slow)
2017/01/19 11:12:45
Yes, I'm OK with it.
|
| public: |
| - explicit MockMediaSession(content::MediaSession* session) { |
| - // Delegate the calls to the real MediaSession. |
| - ON_CALL(*this, Resume(_)) |
| - .WillByDefault(Invoke(session, &MediaSession::Resume)); |
| - ON_CALL(*this, Suspend(_)) |
| - .WillByDefault(Invoke(session, &MediaSession::Suspend)); |
| - ON_CALL(*this, Stop(_)).WillByDefault(Invoke(session, &MediaSession::Stop)); |
| - ON_CALL(*this, DidReceiveAction(_)) |
| - .WillByDefault(Invoke(session, &MediaSession::DidReceiveAction)); |
| - } |
| + MockMediaSession() {} |
| ~MockMediaSession() {} |
| MOCK_METHOD1(Resume, void(content::MediaSession::SuspendType)); |
| @@ -41,6 +31,8 @@ class MockMediaSession : public content::MediaSession { |
| MOCK_METHOD0(StartDucking, void()); |
| MOCK_METHOD0(StopDucking, void()); |
| MOCK_METHOD1(DidReceiveAction, void(blink::mojom::MediaSessionAction)); |
| + MOCK_METHOD1(AddObserver, void(content::MediaSessionObserver*)); |
|
Zhiqiang Zhang (Slow)
2017/01/16 11:23:13
protected?
Is it Add/RemoveObserver not overriden
derekjchow1
2017/01/18 02:25:33
Should be public:
https://github.com/google/googl
Zhiqiang Zhang (Slow)
2017/01/18 21:57:51
Acknowledged.
|
| + MOCK_METHOD1(RemoveObserver, void(content::MediaSessionObserver*)); |
| private: |
| DISALLOW_COPY_AND_ASSIGN(MockMediaSession); |
| @@ -52,14 +44,11 @@ class CastMediaBlockerTest : public content::RenderViewHostTestHarness { |
| ~CastMediaBlockerTest() override {} |
| void SetUp() override { |
| + gl::GLSurfaceTestSupport::InitializeOneOff(); |
| initializer_ = base::MakeUnique<content::TestContentClientInitializer>(); |
| content::RenderViewHostTestHarness::SetUp(); |
| - media_session_ = base::MakeUnique<MockMediaSession>( |
| - content::MediaSession::Get(web_contents())); |
| + media_session_ = base::MakeUnique<MockMediaSession>(); |
| media_blocker_ = base::MakeUnique<CastMediaBlocker>(media_session_.get()); |
| - |
| - content::WebContentsTester::For(web_contents()) |
| - ->NavigateAndCommit(GURL("https://www.youtube.com")); |
| } |
| void TearDown() override { content::RenderViewHostTestHarness::TearDown(); } |
| @@ -80,7 +69,7 @@ class CastMediaBlockerTest : public content::RenderViewHostTestHarness { |
| // TODO(derekjchow): Make the tests pass on cast testbots. |
| // crbug.com/665118 |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Suspended) { |
| +TEST_F(CastMediaBlockerTest, Block_Unblock_Suspended) { |
| // Testing block/unblock operations do nothing if media never plays. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(0); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -96,7 +85,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Suspended) { |
| media_blocker_->BlockMediaLoading(false); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_No_Block) { |
| +TEST_F(CastMediaBlockerTest, No_Block) { |
| // Tests CastMediaBlocker does nothing if block/unblock is not called. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(0); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -121,7 +110,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_No_Block) { |
| MediaSessionChanged(true, true); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_Before_Controllable) { |
| +TEST_F(CastMediaBlockerTest, Block_Before_Controllable) { |
| // Tests CastMediaBlocker only suspends when controllable. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(0); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -134,7 +123,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_Before_Controllable) { |
| MediaSessionChanged(true, false); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_After_Controllable) { |
| +TEST_F(CastMediaBlockerTest, Block_After_Controllable) { |
| // Tests CastMediaBlocker suspends immediately on block if controllable. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(0); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -154,7 +143,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_After_Controllable) { |
| media_blocker_->BlockMediaLoading(false); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_Multiple) { |
| +TEST_F(CastMediaBlockerTest, Block_Multiple) { |
| // Tests CastMediaBlocker repeatively suspends when blocked. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(0); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -182,7 +171,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_Multiple) { |
| testing::Mock::VerifyAndClearExpectations(media_session_.get()); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Uncontrollable) { |
| +TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable) { |
| // Tests CastMediaBlocker does not suspend or resume when uncontrollable. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(0); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -196,7 +185,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Uncontrollable) { |
| testing::Mock::VerifyAndClearExpectations(media_session_.get()); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Uncontrollable2) { |
| +TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable2) { |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(1); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| MediaSessionChanged(true, true); |
| @@ -219,7 +208,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_Unblock_Uncontrollable2) { |
| media_blocker_->BlockMediaLoading(false); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Resume_When_Controllable) { |
| +TEST_F(CastMediaBlockerTest, Resume_When_Controllable) { |
| // Tests CastMediaBlocker will only resume after unblock when controllable. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(1); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -235,7 +224,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Resume_When_Controllable) { |
| MediaSessionChanged(true, true); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_No_Resume) { |
| +TEST_F(CastMediaBlockerTest, No_Resume) { |
| // Tests CastMediaBlocker will not resume if media starts playing by itself |
| // after unblock. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(1); |
| @@ -252,7 +241,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_No_Resume) { |
| MediaSessionChanged(false, false); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Block_Before_Resume) { |
| +TEST_F(CastMediaBlockerTest, Block_Before_Resume) { |
| // Tests CastMediaBlocker does not resume if blocked again after an unblock. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(1); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |
| @@ -269,7 +258,7 @@ TEST_F(CastMediaBlockerTest, DISABLED_Block_Before_Resume) { |
| MediaSessionChanged(true, true); |
| } |
| -TEST_F(CastMediaBlockerTest, DISABLED_Unblocked_Already_Playing) { |
| +TEST_F(CastMediaBlockerTest, Unblocked_Already_Playing) { |
| // Tests CastMediaBlocker does not resume if unblocked and media is playing. |
| EXPECT_CALL(*media_session_, Suspend(_)).Times(1); |
| EXPECT_CALL(*media_session_, Resume(_)).Times(0); |