Chromium Code Reviews| Index: mojo/service_manager/service_manager_unittest.cc |
| diff --git a/mojo/service_manager/service_manager_unittest.cc b/mojo/service_manager/service_manager_unittest.cc |
| index dc4e432967e951499c5aacc1a12029cb1b0479a6..4591f6eabc79b9a0c095799fb0e2e81de316b0c4 100644 |
| --- a/mojo/service_manager/service_manager_unittest.cc |
| +++ b/mojo/service_manager/service_manager_unittest.cc |
| @@ -142,6 +142,32 @@ class TestServiceLoader : public ServiceLoader { |
| DISALLOW_COPY_AND_ASSIGN(TestServiceLoader); |
| }; |
| +class TestServiceInterceptor : public ServiceManager::Interceptor { |
| + public: |
| + TestServiceInterceptor() : count_(0) {} |
| + |
| + virtual ScopedMessagePipeHandle OnConnectToClient( |
| + const GURL& url, ScopedMessagePipeHandle handle) OVERRIDE { |
| + ++count_; |
| + url_ = url; |
| + return handle.Pass(); |
| + } |
| + |
| + std::string url_spec() const { |
| + if (!url_.is_valid()) |
| + return "invalid url"; |
| + return url_.spec(); |
| + } |
| + |
| + int call_count() const { |
| + return count_; |
| + } |
| + |
| + private: |
| + int count_; |
|
viettrungluu
2014/04/11 00:23:49
-> call_count_, since your accessor is called call
|
| + GURL url_; |
| +}; |
|
viettrungluu
2014/04/11 00:23:49
DISALLOW_COPY_AND_ASSIGN?
|
| + |
| TEST_F(ServiceManagerTest, Basic) { |
| test_client_->Test("test"); |
| loop_.Run(); |
| @@ -191,4 +217,19 @@ TEST_F(ServiceManagerTest, SetLoaders) { |
| EXPECT_EQ(1, default_loader.num_loads()); |
| } |
| +TEST_F(ServiceManagerTest, Interceptor) { |
| + ServiceManager sm; |
| + TestServiceLoader default_loader; |
| + TestServiceInterceptor interceptor; |
| + sm.set_default_loader(&default_loader); |
| + sm.SetInterceptor(&interceptor); |
| + |
| + std::string url("test:test3"); |
| + InterfacePipe<TestService, AnyInterface> pipe1; |
| + sm.Connect(GURL(url), pipe1.handle_to_peer.Pass()); |
| + EXPECT_EQ(1, interceptor.call_count()); |
| + EXPECT_EQ(url, interceptor.url_spec()); |
| + EXPECT_EQ(1, default_loader.num_loads()); |
| +} |
|
viettrungluu
2014/04/11 00:23:49
Maybe you should try a second call too?
|
| + |
| } // namespace mojo |