Chromium Code Reviews| Index: third_party/WebKit/Source/modules/mediasession/MediaSessionTest.cpp |
| diff --git a/third_party/WebKit/Source/modules/mediasession/MediaSessionTest.cpp b/third_party/WebKit/Source/modules/mediasession/MediaSessionTest.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9f896d33b0f80516c13be3c3b2abc2aae0590ebb |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/modules/mediasession/MediaSessionTest.cpp |
| @@ -0,0 +1,63 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "config.h" |
| +#include "modules/mediasession/MediaSession.h" |
| + |
| +#include "core/dom/Document.h" |
| +#include "core/testing/DummyPageHolder.h" |
| +#include "public/platform/modules/mediasession/WebMediaSession.h" |
| +#include <gmock/gmock.h> |
| +#include <gtest/gtest.h> |
| + |
| +using testing::_; |
| + |
| +namespace blink { |
| +namespace { |
| + |
| +class MockWebMediaSession : public WebMediaSession { |
| +public: |
| + MOCK_METHOD1(activate, void(WebMediaSessionCommandCallback*)); |
| + MOCK_METHOD1(deactivate, void(WebMediaSessionCommandCallback*)); |
| +}; |
| + |
| +class MediaSessionTest : public ::testing::Test { |
| +protected: |
| + MediaSessionTest() |
| + : m_page(DummyPageHolder::create(IntSize(1, 1))) |
| + {} |
| + |
| + MediaSession* createMediaSession(WebMediaSession* webMediaSession) |
| + { |
| + // The MediaSession takes ownership of the WebMediaSession, and the |
| + // caller must take care to not end up with a stale pointer. |
| + return MediaSession::createForTesting(adoptPtr(webMediaSession)); |
|
mlamouri (slow - plz ping)
2015/10/09 13:01:28
I would still prefer to have MediaSessionTest a fr
davve
2015/10/19 13:12:42
WFM. Thanks.
|
| + } |
| + |
| + Document& document() { return m_page->document(); } |
| + ScriptState* mainScriptState() { return ScriptState::forMainWorld(document().frame()); } |
| +private: |
| + OwnPtr<DummyPageHolder> m_page; |
| +}; |
| + |
| +TEST_F(MediaSessionTest, Activate) |
| +{ |
| + MockWebMediaSession* mockWebMediaSession = new MockWebMediaSession; |
| + MediaSession* mediaSession = createMediaSession(mockWebMediaSession); |
| + |
| + EXPECT_CALL(*mockWebMediaSession, activate(_)); |
| + mediaSession->activate(mainScriptState()); |
| +} |
| + |
| +TEST_F(MediaSessionTest, Deactivate) |
| +{ |
| + MockWebMediaSession* mockWebMediaSession = new MockWebMediaSession; |
| + MediaSession* mediaSession = createMediaSession(mockWebMediaSession); |
| + |
| + EXPECT_CALL(*mockWebMediaSession, deactivate(_)); |
| + mediaSession->deactivate(mainScriptState()); |
| +} |
| + |
| +} // namespace |
| +} // namespace blink |