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

Unified Diff: chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc

Issue 1436703002: Revert of [Presentation API / Media Router] Clean up default pres URL logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc
diff --git a/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc b/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc
index c3099aa275a5fa1437808d4b883315795b15b95e..056f05d447019cd55472c3947255bc84691d3ffb 100644
--- a/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc
+++ b/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc
@@ -24,7 +24,6 @@
using ::testing::_;
using ::testing::Mock;
using ::testing::Return;
-using ::testing::SaveArg;
using ::testing::StrictMock;
namespace media_router {
@@ -37,12 +36,11 @@
void(const content::PresentationSessionInfo&));
};
-class MockDefaultPresentationRequestObserver
- : public PresentationServiceDelegateImpl::
- DefaultPresentationRequestObserver {
+class MockDefaultMediaSourceObserver
+ : public PresentationServiceDelegateImpl::DefaultMediaSourceObserver {
public:
- MOCK_METHOD1(OnDefaultPresentationChanged, void(const PresentationRequest&));
- MOCK_METHOD0(OnDefaultPresentationRemoved, void());
+ MOCK_METHOD2(OnDefaultMediaSourceChanged,
+ void(const MediaSource&, const GURL&));
};
class PresentationServiceDelegateImplTest
@@ -57,9 +55,6 @@
delegate_impl_->SetMediaRouterForTest(&router_);
}
- MOCK_METHOD1(OnDefaultPresentationStarted,
- void(const content::PresentationSessionInfo& session_info));
-
PresentationServiceDelegateImpl* delegate_impl_;
MockMediaRouter router_;
};
@@ -67,8 +62,8 @@
TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) {
ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
- std::string presentation_url1("http://url1.fakeUrl");
- std::string presentation_url2("http://url2.fakeUrl");
+ std::string presentation_url1("http://url1");
+ std::string presentation_url2("http://url2");
MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1);
MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2);
MockScreenAvailabilityListener listener1(presentation_url1);
@@ -103,7 +98,7 @@
TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) {
ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
- std::string presentation_url1("http://url1.fakeUrl");
+ std::string presentation_url1("http://url1");
MediaSource source1(MediaSourceForPresentationUrl(presentation_url1));
MockScreenAvailabilityListener listener1(presentation_url1);
int render_process_id = 1;
@@ -124,144 +119,76 @@
render_process_id, render_frame_id, source1.id()));
}
-// TODO(imcheng): Add a test to set default presentation URL in a different
-// RenderFrameHost and verify that it works.
TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) {
- EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest());
-
- GURL frame_url("http://www.google.com");
- content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url);
+ content::WebContentsTester::For(web_contents())
+ ->NavigateAndCommit(GURL("http://www.google.com"));
content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
ASSERT_TRUE(main_frame);
int render_process_id = main_frame->GetProcess()->GetID();
int routing_id = main_frame->GetRoutingID();
- auto callback = base::Bind(
- &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
- base::Unretained(this));
- std::string presentation_url1("http://foo.fakeUrl");
+ std::string presentation_url1("http://foo");
delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
- presentation_url1, callback);
- ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
- PresentationRequest request1 =
- delegate_impl_->GetDefaultPresentationRequest();
- EXPECT_EQ(presentation_url1, request1.presentation_url());
- EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id),
- request1.render_frame_host_id());
- EXPECT_EQ(frame_url, request1.frame_url());
+ presentation_url1);
+ EXPECT_TRUE(delegate_impl_->default_source().Equals(
+ MediaSourceForPresentationUrl(presentation_url1)));
+
+ // Remove default presentation URL.
+ delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "");
+ EXPECT_TRUE(delegate_impl_->default_source().Empty());
// Set to a new default presentation URL
std::string presentation_url2("https://youtube.com");
delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
- presentation_url2, callback);
- ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
- PresentationRequest request2 =
- delegate_impl_->GetDefaultPresentationRequest();
- EXPECT_EQ(presentation_url2, request2.presentation_url());
- EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id),
- request2.render_frame_host_id());
- EXPECT_EQ(frame_url, request2.frame_url());
-
- // Remove default presentation URL.
- delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "",
- callback);
- EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest());
-}
-
-TEST_F(PresentationServiceDelegateImplTest, DefaultPresentationUrlCallback) {
+ presentation_url2);
+ EXPECT_TRUE(delegate_impl_->default_source().Equals(
+ MediaSourceForPresentationUrl(presentation_url2)));
+}
+
+TEST_F(PresentationServiceDelegateImplTest, DefaultMediaSourceObserver) {
+ content::WebContentsTester::For(web_contents())
+ ->NavigateAndCommit(GURL("http://www.google.com"));
content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
ASSERT_TRUE(main_frame);
int render_process_id = main_frame->GetProcess()->GetID();
int routing_id = main_frame->GetRoutingID();
-
- auto callback = base::Bind(
- &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
- base::Unretained(this));
- std::string presentation_url1("http://foo.fakeUrl");
- delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
- presentation_url1, callback);
-
- ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
- PresentationRequest request = delegate_impl_->GetDefaultPresentationRequest();
-
- // Should not trigger callback since route response is error.
- delegate_impl_->OnRouteResponse(request, nullptr, "", "Error");
- EXPECT_TRUE(Mock::VerifyAndClearExpectations(this));
-
- // Should not trigger callback since request doesn't match.
- std::string presentation_url2("http://bar.fakeUrl");
- PresentationRequest different_request(RenderFrameHostId(100, 200),
- presentation_url2,
- GURL("http://anotherFrameUrl.fakeUrl"));
- MediaRoute different_route("differentRouteId",
- MediaSourceForPresentationUrl(presentation_url2),
- "mediaSinkId", "", true, "", true);
- delegate_impl_->OnRouteResponse(different_request, &different_route,
- "differentPresentationId", "");
- EXPECT_TRUE(Mock::VerifyAndClearExpectations(this));
-
- // Should trigger callback since request matches.
- MediaRoute route("routeId", MediaSourceForPresentationUrl(presentation_url1),
- "mediaSinkId", "", true, "", true);
- EXPECT_CALL(*this, OnDefaultPresentationStarted(_)).Times(1);
- delegate_impl_->OnRouteResponse(request, &route, "presentationId", "");
-}
-
-TEST_F(PresentationServiceDelegateImplTest,
- DefaultPresentationRequestObserver) {
- auto callback = base::Bind(
- &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
- base::Unretained(this));
-
- StrictMock<MockDefaultPresentationRequestObserver> observer;
- delegate_impl_->AddDefaultPresentationRequestObserver(&observer);
-
- GURL frame_url("http://www.google.com");
- content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url);
- content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
- ASSERT_TRUE(main_frame);
- int render_process_id = main_frame->GetProcess()->GetID();
- int routing_id = main_frame->GetRoutingID();
-
- std::string url1("http://foo.fakeUrl");
- PresentationRequest observed_request1(
- RenderFrameHostId(render_process_id, routing_id), url1, frame_url);
- EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request1)))
- .Times(1);
- delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, url1,
- callback);
-
- ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
- PresentationRequest request1 =
- delegate_impl_->GetDefaultPresentationRequest();
- EXPECT_TRUE(request1.Equals(observed_request1));
-
- EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer));
-
+ StrictMock<MockDefaultMediaSourceObserver> observer1;
+ StrictMock<MockDefaultMediaSourceObserver> observer2;
+ delegate_impl_->AddDefaultMediaSourceObserver(&observer1);
+ delegate_impl_->AddDefaultMediaSourceObserver(&observer2);
+ std::string url1("http://foo");
+ EXPECT_CALL(observer1, OnDefaultMediaSourceChanged(
+ Equals(MediaSourceForPresentationUrl(url1)),
+ GURL("http://www.google.com"))).Times(1);
+ EXPECT_CALL(observer2, OnDefaultMediaSourceChanged(
+ Equals(MediaSourceForPresentationUrl(url1)),
+ GURL("http://www.google.com"))).Times(1);
+ delegate_impl_->SetDefaultPresentationUrl(render_process_id,
+ routing_id, url1);
+
+ EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1));
+ EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer2));
+
+ delegate_impl_->RemoveDefaultMediaSourceObserver(&observer2);
std::string url2("http://youtube.com");
- PresentationRequest observed_request2(
- RenderFrameHostId(render_process_id, routing_id), url2, frame_url);
- EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request2)))
- .Times(1);
- delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, url2,
- callback);
- ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
- PresentationRequest request2 =
- delegate_impl_->GetDefaultPresentationRequest();
- EXPECT_TRUE(request2.Equals(observed_request2));
-
- EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer));
-
+ EXPECT_CALL(observer1, OnDefaultMediaSourceChanged(
+ Equals(MediaSourceForPresentationUrl(url2)),
+ GURL("http://www.google.com"))).Times(1);
+ delegate_impl_->SetDefaultPresentationUrl(render_process_id,
+ routing_id, url2);
+
+ EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1));
// Remove default presentation URL.
- EXPECT_CALL(observer, OnDefaultPresentationRemoved()).Times(1);
- delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "",
- callback);
+ EXPECT_CALL(observer1, OnDefaultMediaSourceChanged(
+ Equals(MediaSource()),
+ GURL("http://www.google.com"))).Times(1);
+ delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "");
}
TEST_F(PresentationServiceDelegateImplTest, Reset) {
ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
- std::string presentation_url1("http://url1.fakeUrl");
+ std::string presentation_url1("http://url1");
MediaSource source = MediaSourceForPresentationUrl(presentation_url1);
MockScreenAvailabilityListener listener1(presentation_url1);
int render_process_id = 1;
@@ -298,7 +225,7 @@
TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) {
ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false));
- const std::string presentation_url("http://url1.fakeUrl");
+ const std::string presentation_url("http://url1");
MockScreenAvailabilityListener listener(presentation_url);
const int render_process_id = 10;
const int render_frame_id = 1;
« no previous file with comments | « chrome/browser/media/router/presentation_service_delegate_impl.cc ('k') | chrome/browser/media/router/render_frame_host_id.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698