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

Side by Side Diff: chrome/browser/media/router/presentation_media_sinks_observer_unittest.cc

Issue 1693963003: Pass origin to StartObservingMediaSinks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Marks Review Fixes with URL changes Created 4 years, 9 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/macros.h" 5 #include "base/macros.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "chrome/browser/media/router/media_source_helper.h" 8 #include "chrome/browser/media/router/media_source_helper.h"
9 #include "chrome/browser/media/router/mock_media_router.h" 9 #include "chrome/browser/media/router/mock_media_router.h"
10 #include "chrome/browser/media/router/mock_screen_availability_listener.h" 10 #include "chrome/browser/media/router/mock_screen_availability_listener.h"
(...skipping 11 matching lines...) Expand all
22 class PresentationMediaSinksObserverTest : public ::testing::Test { 22 class PresentationMediaSinksObserverTest : public ::testing::Test {
23 public: 23 public:
24 PresentationMediaSinksObserverTest() 24 PresentationMediaSinksObserverTest()
25 : listener_("http://example.com/presentation.html") {} 25 : listener_("http://example.com/presentation.html") {}
26 ~PresentationMediaSinksObserverTest() override {} 26 ~PresentationMediaSinksObserverTest() override {}
27 27
28 void SetUp() override { 28 void SetUp() override {
29 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true)); 29 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true));
30 observer_.reset(new PresentationMediaSinksObserver( 30 observer_.reset(new PresentationMediaSinksObserver(
31 &router_, &listener_, 31 &router_, &listener_,
32 MediaSourceForPresentationUrl("http://example.com/presentation.html"))); 32 MediaSourceForPresentationUrl("http://example.com/presentation.html",
33 "http://example.com")));
33 EXPECT_TRUE(observer_->Init()); 34 EXPECT_TRUE(observer_->Init());
34 } 35 }
35 36
36 void TearDown() override { 37 void TearDown() override {
37 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)); 38 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_));
38 observer_.reset(); 39 observer_.reset();
39 } 40 }
40 41
41 MockMediaRouter router_; 42 MockMediaRouter router_;
42 MockScreenAvailabilityListener listener_; 43 MockScreenAvailabilityListener listener_;
43 scoped_ptr<PresentationMediaSinksObserver> observer_; 44 scoped_ptr<PresentationMediaSinksObserver> observer_;
44 45
45 private: 46 private:
46 DISALLOW_COPY_AND_ASSIGN(PresentationMediaSinksObserverTest); 47 DISALLOW_COPY_AND_ASSIGN(PresentationMediaSinksObserverTest);
47 }; 48 };
48 49
49 TEST_F(PresentationMediaSinksObserverTest, AvailableScreens) { 50 TEST_F(PresentationMediaSinksObserverTest, AvailableScreens) {
50 std::vector<MediaSink> result; 51 std::vector<MediaSink> result;
51 result.push_back(MediaSink("sinkId", "Sink", MediaSink::IconType::CAST)); 52 result.push_back(MediaSink("sinkId", "Sink", MediaSink::IconType::CAST));
52 53
53 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(true)).Times(1); 54 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(true)).Times(1);
54 observer_->OnSinksReceived(result); 55 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
56 "http://example.com/presentation.html",
57 "http://example.com"),
58 result);
55 } 59 }
56 60
57 TEST_F(PresentationMediaSinksObserverTest, NoAvailableScreens) { 61 TEST_F(PresentationMediaSinksObserverTest, NoAvailableScreens) {
58 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(false)).Times(1); 62 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(false)).Times(1);
59 observer_->OnSinksReceived(std::vector<MediaSink>()); 63 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
64 "http://example.com/presentation.html",
65 "http://example.com"),
66 std::vector<MediaSink>());
60 } 67 }
61 68
62 TEST_F(PresentationMediaSinksObserverTest, ConsecutiveResults) { 69 TEST_F(PresentationMediaSinksObserverTest, ConsecutiveResults) {
63 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(false)).Times(1); 70 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(false)).Times(1);
64 observer_->OnSinksReceived(std::vector<MediaSink>()); 71 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
72 "http://example.com/presentation.html",
73 "http://example.com"),
74 std::vector<MediaSink>());
65 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_)); 75 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_));
66 76
67 // Does not propagate result to |listener_| since result is same. 77 // Does not propagate result to |listener_| since result is same.
68 observer_->OnSinksReceived(std::vector<MediaSink>()); 78 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
79 "http://example.com/presentation.html",
80 "http://example.com"),
81 std::vector<MediaSink>());
69 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_)); 82 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_));
70 83
71 // |listener_| should get result since it changed to true. 84 // |listener_| should get result since it changed to true.
72 std::vector<MediaSink> result; 85 std::vector<MediaSink> result;
73 result.push_back(MediaSink("sinkId", "Sink", MediaSink::IconType::CAST)); 86 result.push_back(MediaSink("sinkId", "Sink", MediaSink::IconType::CAST));
74 87
75 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(true)).Times(1); 88 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(true)).Times(1);
76 observer_->OnSinksReceived(result); 89 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
90 "http://example.com/presentation.html",
91 "http://example.com"),
92 result);
77 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_)); 93 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_));
78 94
79 // Does not propagate result to |listener_| since result is same. 95 // Does not propagate result to |listener_| since result is same.
80 result.push_back(MediaSink("sinkId2", "Sink 2", MediaSink::IconType::CAST)); 96 result.push_back(MediaSink("sinkId2", "Sink 2", MediaSink::IconType::CAST));
81 observer_->OnSinksReceived(result); 97 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
98 "http://example.com/presentation.html",
99 "http://example.com"),
100 result);
82 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_)); 101 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_));
83 102
84 // |listener_| should get result since it changed to false. 103 // |listener_| should get result since it changed to false.
85 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(false)).Times(1); 104 EXPECT_CALL(listener_, OnScreenAvailabilityChanged(false)).Times(1);
86 observer_->OnSinksReceived(std::vector<MediaSink>()); 105 observer_->OnSinksReceived(MediaSourceForPresentationUrl(
106 "http://example.com/presentation.html",
107 "http://example.com"),
108 std::vector<MediaSink>());
87 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_)); 109 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&listener_));
88 } 110 }
89 111
90 } // namespace media_router 112 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/presentation_media_sinks_observer.cc ('k') | chrome/browser/media/router/presentation_request.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698