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

Unified Diff: chrome/browser/media/router/discovery/media_sink_service_base_unittest.cc

Issue 2965843002: [Media Router] Support dual discovery (Closed)
Patch Set: clean up and fix unit tests Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/discovery/media_sink_service_base_unittest.cc
diff --git a/chrome/browser/media/router/discovery/media_sink_service_base_unittest.cc b/chrome/browser/media/router/discovery/media_sink_service_base_unittest.cc
index eac9ea494a9d2a82060a0916d1771c883f69449a..5294dde2f8dfdb349b27073796e81a033615c0bb 100644
--- a/chrome/browser/media/router/discovery/media_sink_service_base_unittest.cc
+++ b/chrome/browser/media/router/discovery/media_sink_service_base_unittest.cc
@@ -46,6 +46,12 @@ std::vector<media_router::MediaSinkInternal> CreateDialMediaSinks() {
namespace media_router {
+class MockMediaSinkServiceObserver : public MediaSinkService::Observer {
+ public:
+ MOCK_METHOD1(OnMediaSinkAdded, void(const MediaSinkInternal& sink));
+ MOCK_METHOD0(OnMediaSinksRemoved, void());
+};
+
class TestMediaSinkServiceBase : public MediaSinkServiceBase {
public:
explicit TestMediaSinkServiceBase(const OnSinksDiscoveredCallback& callback)
@@ -140,4 +146,24 @@ TEST_F(MediaSinkServiceBaseTest, TestFetchCompleted_Mixed) {
TestFetchCompleted(old_sinks, new_sinks);
}
+TEST_F(MediaSinkServiceBaseTest, TestAddRemoveSinks) {
+ MockMediaSinkServiceObserver mock_observer;
+
+ auto sinks = CreateDialMediaSinks();
+ EXPECT_CALL(mock_observer, OnMediaSinkAdded(sinks[0]));
+ EXPECT_CALL(mock_observer, OnMediaSinkAdded(sinks[1]));
+
+ media_sink_service_->AddObserver(&mock_observer);
+ media_sink_service_->AddSink(sinks[0]);
+ EXPECT_EQ(size_t(1), media_sink_service_->GetCurrentSinksSize());
+ media_sink_service_->AddSink(sinks[0]);
+ EXPECT_EQ(size_t(1), media_sink_service_->GetCurrentSinksSize());
+ media_sink_service_->AddSink(sinks[1]);
+ EXPECT_EQ(size_t(2), media_sink_service_->GetCurrentSinksSize());
+
+ EXPECT_CALL(mock_observer, OnMediaSinksRemoved());
+ media_sink_service_->RemoveSinks();
+ EXPECT_EQ(size_t(0), media_sink_service_->GetCurrentSinksSize());
+}
+
} // namespace media_router

Powered by Google App Engine
This is Rietveld 408576698