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

Unified Diff: chrome/browser/extensions/api/mdns/mdns_api_unittest.cc

Issue 2874243003: [mDns] Make DnsSdRegistry a leaky singleton (Closed)
Patch Set: resolve code review comments from Mark Created 3 years, 7 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
« no previous file with comments | « chrome/browser/extensions/api/mdns/mdns_api.cc ('k') | chrome/browser/extensions/api/mdns/mdns_apitest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
diff --git a/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc b/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
index 5cb384755f4801b128e5c819b6caac08fdd890bd..4a9ea22a56c00a6932afc00ab58ffb3a2e7f9e60 100644
--- a/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
+++ b/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
@@ -15,6 +15,7 @@
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/test_extension_system.h"
+#include "chrome/browser/media/router/discovery/mdns/mock_dns_sd_registry.h"
#include "chrome/common/extensions/api/mdns.h"
#include "content/public/browser/browser_context.h"
#include "content/public/test/mock_render_process_host.h"
@@ -26,6 +27,7 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+using media_router::MockDnsSdRegistry;
using testing::_;
using testing::Return;
using testing::ReturnRef;
@@ -91,27 +93,6 @@ base::FilePath bogus_file_pathname(const std::string& name) {
.AppendASCII(name);
}
-class MockDnsSdRegistry : public media_router::DnsSdRegistry {
- public:
- explicit MockDnsSdRegistry(extensions::MDnsAPI* api) : api_(api) {}
- virtual ~MockDnsSdRegistry() {}
-
- MOCK_METHOD1(AddObserver, void(DnsSdObserver* observer));
- MOCK_METHOD1(RemoveObserver, void(DnsSdObserver* observer));
- MOCK_METHOD1(RegisterDnsSdListener, void(const std::string& service_type));
- MOCK_METHOD1(UnregisterDnsSdListener, void(const std::string& service_type));
- MOCK_METHOD1(Publish, void(const std::string&));
- MOCK_METHOD0(ForceDiscovery, void(void));
-
- void DispatchMDnsEvent(const std::string& service_type,
- const DnsSdServiceList& services) {
- api_->OnDnsSdEvent(service_type, services);
- }
-
- private:
- media_router::DnsSdRegistry::DnsSdObserver* api_;
-};
-
class MockEventRouter : public EventRouter {
public:
explicit MockEventRouter(content::BrowserContext* browser_context,
@@ -204,13 +185,13 @@ class MDnsAPITest : public extensions::ExtensionServiceTestBase {
ASSERT_TRUE(MDnsAPI::Get(browser_context())); // constructs MDnsAPI
ASSERT_TRUE(EventRouter::Get(browser_context())); // constructs EventRouter
- registry_ = new MockDnsSdRegistry(MDnsAPI::Get(browser_context()));
+ registry_ =
+ base::MakeUnique<MockDnsSdRegistry>(MDnsAPI::Get(browser_context()));
EXPECT_CALL(*dns_sd_registry(),
AddObserver(MDnsAPI::Get(browser_context())))
.Times(1);
MDnsAPI::Get(browser_context())
- ->SetDnsSdRegistryForTesting(
- std::unique_ptr<media_router::DnsSdRegistry>(registry_));
+ ->SetDnsSdRegistryForTesting(registry_.get());
render_process_host_.reset(
new content::MockRenderProcessHost(browser_context()));
@@ -223,16 +204,12 @@ class MDnsAPITest : public extensions::ExtensionServiceTestBase {
}
void TearDown() override {
- EXPECT_CALL(*dns_sd_registry(),
- RemoveObserver(MDnsAPI::Get(browser_context())))
- .Times(1);
+ MDnsAPI::Get(browser_context())->SetDnsSdRegistryForTesting(nullptr);
render_process_host_.reset();
extensions::ExtensionServiceTestBase::TearDown();
}
- virtual MockDnsSdRegistry* dns_sd_registry() {
- return registry_;
- }
+ virtual MockDnsSdRegistry* dns_sd_registry() { return registry_.get(); }
// Constructs an extension according to the parameters that matter most to
// MDnsAPI the local unit tests.
@@ -265,9 +242,7 @@ class MDnsAPITest : public extensions::ExtensionServiceTestBase {
}
private:
- // The registry is owned by MDnsAPI, but MDnsAPI does not have an accessor
- // for it, so use a private member.
- MockDnsSdRegistry* registry_;
+ std::unique_ptr<MockDnsSdRegistry> registry_;
std::unique_ptr<content::RenderProcessHost> render_process_host_;
};
« no previous file with comments | « chrome/browser/extensions/api/mdns/mdns_api.cc ('k') | chrome/browser/extensions/api/mdns/mdns_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698