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

Side by Side Diff: chrome/browser/media/router/discovery/dial/dial_registry_unittest.cc

Issue 2754703005: [Device Discovery] Make DialRegistry a Singleton (Closed)
Patch Set: Created 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "chrome/browser/media/router/discovery/dial/dial_device_data.h" 8 #include "chrome/browser/media/router/discovery/dial/dial_device_data.h"
9 #include "chrome/browser/media/router/discovery/dial/dial_registry.h" 9 #include "chrome/browser/media/router/discovery/dial/dial_registry.h"
10 #include "chrome/browser/media/router/discovery/dial/dial_service.h" 10 #include "chrome/browser/media/router/discovery/dial/dial_service.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 }; 43 };
44 44
45 class MockDialRegistry : public DialRegistry { 45 class MockDialRegistry : public DialRegistry {
46 public: 46 public:
47 MockDialRegistry(const base::TimeDelta& refresh_interval, 47 MockDialRegistry(const base::TimeDelta& refresh_interval,
48 const base::TimeDelta& expiration, 48 const base::TimeDelta& expiration,
49 const size_t max_devices) 49 const size_t max_devices)
50 : DialRegistry(refresh_interval, expiration, max_devices), 50 : DialRegistry(refresh_interval, expiration, max_devices),
51 time_(Time::Now()) {} 51 time_(Time::Now()) {}
52 52
53 // Returns the mock Dial service.
54 MockDialService& mock_service() { return mock_service_; }
55
56 void set_time(Time time) { time_ = time; }
57
58 protected:
53 ~MockDialRegistry() override { 59 ~MockDialRegistry() override {
54 // Don't let the DialRegistry delete this. 60 // Don't let the DialRegistry delete this.
55 DialService* tmp = dial_.release(); 61 DialService* tmp = dial_.release();
56 if (tmp) 62 if (tmp)
57 CHECK_EQ(&mock_service_, tmp); 63 CHECK_EQ(&mock_service_, tmp);
58 } 64 }
59 65
60 // Returns the mock Dial service.
61 MockDialService& mock_service() { return mock_service_; }
62
63 void set_time(Time time) { time_ = time; }
64
65 protected:
66 base::Time Now() const override { return time_; } 66 base::Time Now() const override { return time_; }
67 67
68 std::unique_ptr<DialService> CreateDialService() override { 68 std::unique_ptr<DialService> CreateDialService() override {
69 return base::WrapUnique(&mock_service_); 69 return base::WrapUnique(&mock_service_);
70 } 70 }
71 71
72 void ClearDialService() override { 72 void ClearDialService() override {
73 // Release the pointer but don't delete the object because the test owns it. 73 // Release the pointer but don't delete the object because the test owns it.
74 CHECK_EQ(&mock_service_, dial_.release()); 74 CHECK_EQ(&mock_service_, dial_.release());
75 } 75 }
76 76
77 private: 77 private:
78 MockDialService mock_service_; 78 MockDialService mock_service_;
79 79
80 // Set to mock out the current time. 80 // Set to mock out the current time.
81 Time time_; 81 Time time_;
82 }; 82 };
83 83
84 class DialRegistryTest : public testing::Test { 84 class DialRegistryTest : public testing::Test {
85 public: 85 public:
86 DialRegistryTest() 86 DialRegistryTest()
87 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), 87 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
88 first_device_("first", GURL("http://127.0.0.1/dd.xml"), Time::Now()), 88 first_device_("first", GURL("http://127.0.0.1/dd.xml"), Time::Now()),
89 second_device_("second", GURL("http://127.0.0.2/dd.xml"), Time::Now()), 89 second_device_("second", GURL("http://127.0.0.2/dd.xml"), Time::Now()),
90 third_device_("third", GURL("http://127.0.0.3/dd.xml"), Time::Now()) { 90 third_device_("third", GURL("http://127.0.0.3/dd.xml"), Time::Now()) {
91 registry_ = base::MakeUnique<MockDialRegistry>( 91 registry_ = scoped_refptr<MockDialRegistry>(new MockDialRegistry(
92 TimeDelta::FromSeconds(1000), TimeDelta::FromSeconds(10), 10); 92 TimeDelta::FromSeconds(1000), TimeDelta::FromSeconds(10), 10));
93 registry_->RegisterObserver(&mock_observer_); 93 registry_->RegisterObserver(&mock_observer_);
94 list_with_first_device_.push_back(first_device_); 94 list_with_first_device_.push_back(first_device_);
95 list_with_second_device_.push_back(second_device_); 95 list_with_second_device_.push_back(second_device_);
96 } 96 }
97 97
98 protected: 98 protected:
99 void SetListenerExpectations() { 99 void SetListenerExpectations() {
100 EXPECT_CALL(registry_->mock_service(), 100 EXPECT_CALL(registry_->mock_service(),
101 AddObserver(A<DialService::Observer*>())); 101 AddObserver(A<DialService::Observer*>()));
102 EXPECT_CALL(registry_->mock_service(), 102 EXPECT_CALL(registry_->mock_service(),
103 RemoveObserver(A<DialService::Observer*>())); 103 RemoveObserver(A<DialService::Observer*>()));
104 } 104 }
105 105
106 content::TestBrowserThreadBundle thread_bundle_; 106 content::TestBrowserThreadBundle thread_bundle_;
107 std::unique_ptr<MockDialRegistry> registry_; 107 scoped_refptr<MockDialRegistry> registry_;
108 MockDialObserver mock_observer_; 108 MockDialObserver mock_observer_;
109 const DialDeviceData first_device_; 109 const DialDeviceData first_device_;
110 const DialDeviceData second_device_; 110 const DialDeviceData second_device_;
111 const DialDeviceData third_device_; 111 const DialDeviceData third_device_;
112 112
113 const DialRegistry::DeviceList empty_list_; 113 const DialRegistry::DeviceList empty_list_;
114 DialRegistry::DeviceList list_with_first_device_; 114 DialRegistry::DeviceList list_with_first_device_;
115 DialRegistry::DeviceList list_with_second_device_; 115 DialRegistry::DeviceList list_with_second_device_;
116 }; 116 };
117 117
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 registry_->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_ETHERNET); 366 registry_->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_ETHERNET);
367 367
368 registry_->OnDiscoveryRequest(nullptr); 368 registry_->OnDiscoveryRequest(nullptr);
369 registry_->OnDeviceDiscovered(nullptr, third_device_); 369 registry_->OnDeviceDiscovered(nullptr, third_device_);
370 registry_->OnDiscoveryFinished(nullptr); 370 registry_->OnDiscoveryFinished(nullptr);
371 371
372 registry_->OnListenerRemoved(); 372 registry_->OnListenerRemoved();
373 } 373 }
374 374
375 } // namespace media_router 375 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698