// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "mojo/shell/shell_test_helper.h" #include "base/command_line.h" #include "base/logging.h" #include "mojo/shell/init.h" namespace mojo { namespace shell { class ShellTestHelper::TestServiceProvider : public ServiceProvider { public: TestServiceProvider() {} virtual ~TestServiceProvider() {} // ServiceProvider: virtual void ConnectToService( const mojo::String& service_url, const mojo::String& service_name, ScopedMessagePipeHandle client_handle, const mojo::String& requestor_url) OVERRIDE {} private: DISALLOW_COPY_AND_ASSIGN(TestServiceProvider); }; ShellTestHelper::ShellTestHelper() { base::CommandLine::Init(0, NULL); mojo::shell::InitializeLogging(); } ShellTestHelper::~ShellTestHelper() { } void ShellTestHelper::Init() { context_.reset(new Context); test_api_.reset(new ServiceManager::TestAPI(context_->service_manager())); local_service_provider_.reset(new TestServiceProvider); service_provider_.Bind(test_api_->GetServiceProviderHandle().Pass()); service_provider_.set_client(local_service_provider_.get()); } void ShellTestHelper::SetLoaderForURL(scoped_ptr loader, const GURL& url) { context_->service_manager()->SetLoaderForURL(loader.Pass(), url); } } // namespace shell } // namespace mojo