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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "chrome/browser/media/router/discovery/media_sink_service_base.h" 5 #include "chrome/browser/media/router/discovery/media_sink_service_base.h"
6 #include "base/test/mock_callback.h" 6 #include "base/test/mock_callback.h"
7 #include "base/timer/mock_timer.h" 7 #include "base/timer/mock_timer.h"
8 #include "chrome/browser/media/router/test_helper.h" 8 #include "chrome/browser/media/router/test_helper.h"
9 #include "testing/gmock/include/gmock/gmock.h" 9 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 28 matching lines...) Expand all
39 std::vector<media_router::MediaSinkInternal> sinks; 39 std::vector<media_router::MediaSinkInternal> sinks;
40 sinks.push_back(media_router::MediaSinkInternal(sink1, extra_data1)); 40 sinks.push_back(media_router::MediaSinkInternal(sink1, extra_data1));
41 sinks.push_back(media_router::MediaSinkInternal(sink2, extra_data2)); 41 sinks.push_back(media_router::MediaSinkInternal(sink2, extra_data2));
42 return sinks; 42 return sinks;
43 } 43 }
44 44
45 } // namespace 45 } // namespace
46 46
47 namespace media_router { 47 namespace media_router {
48 48
49 class MockMediaSinkServiceObserver : public MediaSinkService::Observer {
50 public:
51 MOCK_METHOD1(OnMediaSinkAdded, void(const MediaSinkInternal& sink));
52 MOCK_METHOD0(OnMediaSinksRemoved, void());
53 };
54
49 class TestMediaSinkServiceBase : public MediaSinkServiceBase { 55 class TestMediaSinkServiceBase : public MediaSinkServiceBase {
50 public: 56 public:
51 explicit TestMediaSinkServiceBase(const OnSinksDiscoveredCallback& callback) 57 explicit TestMediaSinkServiceBase(const OnSinksDiscoveredCallback& callback)
52 : MediaSinkServiceBase(callback) {} 58 : MediaSinkServiceBase(callback) {}
53 59
54 void Start() override {} 60 void Start() override {}
55 void Stop() override {} 61 void Stop() override {}
56 }; 62 };
57 63
58 class MediaSinkServiceBaseTest : public ::testing::Test { 64 class MediaSinkServiceBaseTest : public ::testing::Test {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 DialSinkExtraData extra_data3 = CreateDialSinkExtraData( 139 DialSinkExtraData extra_data3 = CreateDialSinkExtraData(
134 "model_name3", "192.168.1.3", "https://example3.com"); 140 "model_name3", "192.168.1.3", "https://example3.com");
135 141
136 std::vector<MediaSinkInternal> new_sinks; 142 std::vector<MediaSinkInternal> new_sinks;
137 new_sinks.push_back(MediaSinkInternal(sink1, extra_data2)); 143 new_sinks.push_back(MediaSinkInternal(sink1, extra_data2));
138 new_sinks.push_back(MediaSinkInternal(sink3, extra_data3)); 144 new_sinks.push_back(MediaSinkInternal(sink3, extra_data3));
139 145
140 TestFetchCompleted(old_sinks, new_sinks); 146 TestFetchCompleted(old_sinks, new_sinks);
141 } 147 }
142 148
149 TEST_F(MediaSinkServiceBaseTest, TestAddRemoveSinks) {
150 MockMediaSinkServiceObserver mock_observer;
151
152 auto sinks = CreateDialMediaSinks();
153 EXPECT_CALL(mock_observer, OnMediaSinkAdded(sinks[0]));
154 EXPECT_CALL(mock_observer, OnMediaSinkAdded(sinks[1]));
155
156 media_sink_service_->AddObserver(&mock_observer);
157 media_sink_service_->AddSink(sinks[0]);
158 EXPECT_EQ(size_t(1), media_sink_service_->GetCurrentSinksSize());
159 media_sink_service_->AddSink(sinks[0]);
160 EXPECT_EQ(size_t(1), media_sink_service_->GetCurrentSinksSize());
161 media_sink_service_->AddSink(sinks[1]);
162 EXPECT_EQ(size_t(2), media_sink_service_->GetCurrentSinksSize());
163
164 EXPECT_CALL(mock_observer, OnMediaSinksRemoved());
165 media_sink_service_->RemoveSinks();
166 EXPECT_EQ(size_t(0), media_sink_service_->GetCurrentSinksSize());
167 }
168
143 } // namespace media_router 169 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698