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

Side by Side Diff: mojo/service_manager/service_manager_unittest.cc

Issue 304273004: Add name to services (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Get chrome to build Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "mojo/public/cpp/application/application.h" 6 #include "mojo/public/cpp/application/application.h"
7 #include "mojo/public/cpp/environment/environment.h" 7 #include "mojo/public/cpp/environment/environment.h"
8 #include "mojo/public/interfaces/service_provider/service_provider.mojom.h" 8 #include "mojo/public/interfaces/service_provider/service_provider.mojom.h"
9 #include "mojo/service_manager/service_loader.h" 9 #include "mojo/service_manager/service_loader.h"
10 #include "mojo/service_manager/service_manager.h" 10 #include "mojo/service_manager/service_manager.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 } 101 }
102 102
103 virtual void OnServiceError(ServiceManager* manager, 103 virtual void OnServiceError(ServiceManager* manager,
104 const GURL& url) OVERRIDE { 104 const GURL& url) OVERRIDE {
105 if (quit_after_error_) { 105 if (quit_after_error_) {
106 base::MessageLoop::current()->PostTask(FROM_HERE, 106 base::MessageLoop::current()->PostTask(FROM_HERE,
107 base::MessageLoop::QuitClosure()); 107 base::MessageLoop::QuitClosure());
108 } 108 }
109 } 109 }
110 110
111
112 scoped_ptr<Application> test_app_; 111 scoped_ptr<Application> test_app_;
113 TestContext* context_; 112 TestContext* context_;
114 int num_loads_; 113 int num_loads_;
115 bool quit_after_error_; 114 bool quit_after_error_;
116 DISALLOW_COPY_AND_ASSIGN(TestServiceLoader); 115 DISALLOW_COPY_AND_ASSIGN(TestServiceLoader);
117 }; 116 };
118 117
119 class TestServiceInterceptor : public ServiceManager::Interceptor { 118 class TestServiceInterceptor : public ServiceManager::Interceptor {
120 public: 119 public:
121 TestServiceInterceptor() : call_count_(0) {} 120 TestServiceInterceptor() : call_count_(0) {}
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 MessagePipe pipe; 157 MessagePipe pipe;
159 TestServicePtr service_proxy = MakeProxy<TestService>(pipe.handle0.Pass()); 158 TestServicePtr service_proxy = MakeProxy<TestService>(pipe.handle0.Pass());
160 test_client_.reset(new TestClientImpl(service_proxy.Pass())); 159 test_client_.reset(new TestClientImpl(service_proxy.Pass()));
161 160
162 TestServiceLoader* default_loader = new TestServiceLoader; 161 TestServiceLoader* default_loader = new TestServiceLoader;
163 default_loader->set_context(&context_); 162 default_loader->set_context(&context_);
164 default_loader->set_quit_after_error(true); 163 default_loader->set_quit_after_error(true);
165 service_manager_->set_default_loader( 164 service_manager_->set_default_loader(
166 scoped_ptr<ServiceLoader>(default_loader)); 165 scoped_ptr<ServiceLoader>(default_loader));
167 166
168 service_manager_->ConnectToService(test_url, pipe.handle1.Pass()); 167 service_manager_->ConnectToService(
168 test_url, TestService::Name_, pipe.handle1.Pass());
169 } 169 }
170 170
171 virtual void TearDown() OVERRIDE { 171 virtual void TearDown() OVERRIDE {
172 test_client_.reset(NULL); 172 test_client_.reset(NULL);
173 service_manager_.reset(NULL); 173 service_manager_.reset(NULL);
174 } 174 }
175 175
176 bool HasFactoryForTestURL() { 176 bool HasFactoryForTestURL() {
177 ServiceManager::TestAPI manager_test_api(service_manager_.get()); 177 ServiceManager::TestAPI manager_test_api(service_manager_.get());
178 return manager_test_api.HasFactoryForURL(GURL(kTestURLString)); 178 return manager_test_api.HasFactoryForURL(GURL(kTestURLString));
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 ServiceManager sm; 233 ServiceManager sm;
234 TestServiceLoader* default_loader = new TestServiceLoader; 234 TestServiceLoader* default_loader = new TestServiceLoader;
235 TestServiceLoader* url_loader = new TestServiceLoader; 235 TestServiceLoader* url_loader = new TestServiceLoader;
236 TestServiceLoader* scheme_loader = new TestServiceLoader; 236 TestServiceLoader* scheme_loader = new TestServiceLoader;
237 sm.set_default_loader(scoped_ptr<ServiceLoader>(default_loader)); 237 sm.set_default_loader(scoped_ptr<ServiceLoader>(default_loader));
238 sm.SetLoaderForURL(scoped_ptr<ServiceLoader>(url_loader), GURL("test:test1")); 238 sm.SetLoaderForURL(scoped_ptr<ServiceLoader>(url_loader), GURL("test:test1"));
239 sm.SetLoaderForScheme(scoped_ptr<ServiceLoader>(scheme_loader), "test"); 239 sm.SetLoaderForScheme(scoped_ptr<ServiceLoader>(scheme_loader), "test");
240 240
241 // test::test1 should go to url_loader. 241 // test::test1 should go to url_loader.
242 MessagePipe pipe1; 242 MessagePipe pipe1;
243 sm.ConnectToService(GURL("test:test1"), pipe1.handle0.Pass()); 243 sm.ConnectToService(
244 GURL("test:test1"), TestService::Name_, pipe1.handle0.Pass());
244 EXPECT_EQ(1, url_loader->num_loads()); 245 EXPECT_EQ(1, url_loader->num_loads());
245 EXPECT_EQ(0, scheme_loader->num_loads()); 246 EXPECT_EQ(0, scheme_loader->num_loads());
246 EXPECT_EQ(0, default_loader->num_loads()); 247 EXPECT_EQ(0, default_loader->num_loads());
247 248
248 // test::test2 should go to scheme loader. 249 // test::test2 should go to scheme loader.
249 MessagePipe pipe2; 250 MessagePipe pipe2;
250 sm.ConnectToService(GURL("test:test2"), pipe2.handle0.Pass()); 251 sm.ConnectToService(
252 GURL("test:test2"), TestService::Name_, pipe2.handle0.Pass());
251 EXPECT_EQ(1, url_loader->num_loads()); 253 EXPECT_EQ(1, url_loader->num_loads());
252 EXPECT_EQ(1, scheme_loader->num_loads()); 254 EXPECT_EQ(1, scheme_loader->num_loads());
253 EXPECT_EQ(0, default_loader->num_loads()); 255 EXPECT_EQ(0, default_loader->num_loads());
254 256
255 // http::test1 should go to default loader. 257 // http::test1 should go to default loader.
256 MessagePipe pipe3; 258 MessagePipe pipe3;
257 sm.ConnectToService(GURL("http:test1"), pipe3.handle0.Pass()); 259 sm.ConnectToService(
260 GURL("http:test1"), TestService::Name_, pipe3.handle0.Pass());
258 EXPECT_EQ(1, url_loader->num_loads()); 261 EXPECT_EQ(1, url_loader->num_loads());
259 EXPECT_EQ(1, scheme_loader->num_loads()); 262 EXPECT_EQ(1, scheme_loader->num_loads());
260 EXPECT_EQ(1, default_loader->num_loads()); 263 EXPECT_EQ(1, default_loader->num_loads());
261 } 264 }
262 265
263 TEST_F(ServiceManagerTest, Interceptor) { 266 TEST_F(ServiceManagerTest, Interceptor) {
264 ServiceManager sm; 267 ServiceManager sm;
265 TestServiceInterceptor interceptor; 268 TestServiceInterceptor interceptor;
266 TestServiceLoader* default_loader = new TestServiceLoader; 269 TestServiceLoader* default_loader = new TestServiceLoader;
267 sm.set_default_loader(scoped_ptr<ServiceLoader>(default_loader)); 270 sm.set_default_loader(scoped_ptr<ServiceLoader>(default_loader));
268 sm.SetInterceptor(&interceptor); 271 sm.SetInterceptor(&interceptor);
269 272
270 std::string url("test:test3"); 273 std::string url("test:test3");
271 MessagePipe pipe1; 274 MessagePipe pipe1;
272 sm.ConnectToService(GURL(url), pipe1.handle0.Pass()); 275 sm.ConnectToService(GURL(url), TestService::Name_, pipe1.handle0.Pass());
273 EXPECT_EQ(1, interceptor.call_count()); 276 EXPECT_EQ(1, interceptor.call_count());
274 EXPECT_EQ(url, interceptor.url_spec()); 277 EXPECT_EQ(url, interceptor.url_spec());
275 EXPECT_EQ(1, default_loader->num_loads()); 278 EXPECT_EQ(1, default_loader->num_loads());
276 } 279 }
277 280
278 } // namespace mojo 281 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/service_manager/service_manager.cc ('k') | mojo/services/public/interfaces/view_manager/view_manager.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698