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

Side by Side Diff: content/renderer/media/android/webmediasession_android_unittest.cc

Issue 1436243002: Add render-side manager for MediaSession (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moar tests Created 5 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
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/renderer/media/android/webmediasession_android.h"
6
7 #include "base/memory/scoped_ptr.h"
8 #include "content/renderer/media/android/renderer_media_session_manager.h"
9 #include "testing/gmock/include/gmock/gmock.h"
10
11 namespace content {
12
13 class WebMediaSessionTest : public testing::Test {
14 public:
15 bool SessionManagerHasSession(RendererMediaSessionManager* session_manager,
16 WebMediaSessionAndroid* session) {
17 for (auto& iter : session_manager->sessions_) {
18 if (iter.second == session)
19 return true;
20 }
21 return false;
22 }
23
24 bool IsSessionManagerEmpty(RendererMediaSessionManager* session_manager) {
25 return session_manager->sessions_.empty();
26 }
27 };
28
29 TEST_F(WebMediaSessionTest, TestRegistration) {
30 scoped_ptr<RendererMediaSessionManager> session_manager(
31 new RendererMediaSessionManager(nullptr));
32 EXPECT_TRUE(IsSessionManagerEmpty(session_manager.get()));
33 {
34 scoped_ptr<WebMediaSessionAndroid> session(
35 new WebMediaSessionAndroid(session_manager.get()));
36 EXPECT_TRUE(SessionManagerHasSession(session_manager.get(), session.get()));
37 }
38 EXPECT_TRUE(IsSessionManagerEmpty(session_manager.get()));
39 }
40
41 TEST_F(WebMediaSessionTest, TestMultipleRegistration) {
42 scoped_ptr<RendererMediaSessionManager> session_manager(
43 new RendererMediaSessionManager(nullptr));
44 EXPECT_TRUE(IsSessionManagerEmpty(session_manager.get()));
45
46 {
47 scoped_ptr<WebMediaSessionAndroid> session1(
48 new WebMediaSessionAndroid(session_manager.get()));
49 EXPECT_TRUE(
50 SessionManagerHasSession(session_manager.get(), session1.get()));
51
52 {
53 scoped_ptr<WebMediaSessionAndroid> session2(
54 new WebMediaSessionAndroid(session_manager.get()));
55 EXPECT_TRUE(
56 SessionManagerHasSession(session_manager.get(), session2.get()));
57 }
58
59 EXPECT_TRUE(
60 SessionManagerHasSession(session_manager.get(), session1.get()));
61 }
62
63 EXPECT_TRUE(IsSessionManagerEmpty(session_manager.get()));
64 }
65
66 TEST_F(WebMediaSessionTest, TestMultipleRegistrationOutOfOrder) {
67 scoped_ptr<RendererMediaSessionManager> session_manager(
68 new RendererMediaSessionManager(nullptr));
69 EXPECT_TRUE(IsSessionManagerEmpty(session_manager.get()));
70
71 WebMediaSessionAndroid* session1 =
72 new WebMediaSessionAndroid(session_manager.get());
73 EXPECT_TRUE(SessionManagerHasSession(session_manager.get(), session1));
74
75 WebMediaSessionAndroid* session2 =
76 new WebMediaSessionAndroid(session_manager.get());
77 EXPECT_TRUE(SessionManagerHasSession(session_manager.get(), session2));
78
79 delete session1;
80 EXPECT_TRUE(SessionManagerHasSession(session_manager.get(), session2));
81
82 delete session2;
83 EXPECT_TRUE(IsSessionManagerEmpty(session_manager.get()));
84 }
85
86 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/android/webmediasession_android.cc ('k') | content/renderer/render_frame_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698