| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |