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

Unified Diff: mojo/shell/shell_test_base.cc

Issue 397733003: mojo: kill app_thread before unloading main app library and add tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: also service_manager_unittests Created 6 years, 5 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 | « mojo/shell/shell_test_base.h ('k') | mojo/shell/shell_test_base_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « mojo/shell/shell_test_base.h ('k') | mojo/shell/shell_test_base_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698