| Index: mojo/shell/shell_test_base.cc
|
| diff --git a/mojo/shell/shell_test_base.cc b/mojo/shell/shell_test_base.cc
|
| index 24cf859777b80617822bc999363553706b14b1c5..2f4f44dc0f259c71b6088e083e588800f48428d5 100644
|
| --- a/mojo/shell/shell_test_base.cc
|
| +++ b/mojo/shell/shell_test_base.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/path_service.h"
|
| #include "build/build_config.h"
|
| #include "net/base/filename_util.h"
|
| +#include "net/test/embedded_test_server/embedded_test_server.h"
|
| #include "url/gurl.h"
|
|
|
| namespace mojo {
|
| @@ -23,13 +24,35 @@ ShellTestBase::ShellTestBase() {
|
| ShellTestBase::~ShellTestBase() {
|
| }
|
|
|
| +void ShellTestBase::SetUp() {
|
| + test_server_.reset(new net::test_server::EmbeddedTestServer());
|
| + ASSERT_TRUE(test_server_->InitializeAndWaitUntilReady());
|
| + base::FilePath service_dir;
|
| + CHECK(PathService::Get(base::DIR_MODULE, &service_dir));
|
| + test_server_->ServeFilesFromDirectory(service_dir);
|
| +}
|
| +
|
| +ScopedMessagePipeHandle ShellTestBase::ConnectToServiceViaNetwork(
|
| + const GURL& application_url,
|
| + const std::string& service_name) {
|
| + shell_context_.mojo_url_resolver()->SetBaseURL(
|
| + test_server_->base_url());
|
| +
|
| + return shell_context_.service_manager()->ConnectToServiceByName(
|
| + application_url, service_name).Pass();
|
| +}
|
| +
|
| ScopedMessagePipeHandle ShellTestBase::ConnectToService(
|
| const GURL& application_url,
|
| const std::string& service_name) {
|
| + // Set the MojoURLResolver origin to be the same as the base file path for
|
| + // local files. This is primarily for test convenience, so that references
|
| + // to unknown mojo: urls that do not have specific local file or custom
|
| + // mappings registered on the URL resolver are treated as shared libraries.
|
| base::FilePath service_dir;
|
| CHECK(PathService::Get(base::DIR_MODULE, &service_dir));
|
| - shell_context_.mojo_url_resolver()->set_origin(
|
| - net::FilePathToFileURL(service_dir).spec());
|
| + shell_context_.mojo_url_resolver()->SetBaseURL(
|
| + net::FilePathToFileURL(service_dir));
|
|
|
| return shell_context_.service_manager()->ConnectToServiceByName(
|
| application_url, service_name).Pass();
|
|
|