Remove 'RemoveTrailingSeparators' function from SimpleMenuModel
[chromium-blink-merge.git] / mojo / shell / shell_test_base.cc
blobda9a7d95f53639bb344cbea798395ac9d8bb65bc
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
3 // found in the LICENSE file.
5 #include "mojo/shell/shell_test_base.h"
7 #include "base/bind.h"
8 #include "base/command_line.h"
9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h"
11 #include "base/logging.h"
12 #include "base/path_service.h"
13 #include "build/build_config.h"
14 #include "mojo/shell/filename_util.h"
15 #include "url/gurl.h"
17 namespace mojo {
18 namespace shell {
19 namespace test {
21 namespace {
23 void QuitIfRunning() {
24 if (base::MessageLoop::current() &&
25 base::MessageLoop::current()->is_running()) {
26 base::MessageLoop::current()->QuitWhenIdle();
30 } // namespace
32 ShellTestBase::ShellTestBase() {
35 ShellTestBase::~ShellTestBase() {
38 void ShellTestBase::SetUp() {
39 CHECK(shell_context_.Init());
40 SetUpTestApplications();
43 void ShellTestBase::TearDown() {
44 shell_context_.Shutdown();
47 ScopedMessagePipeHandle ShellTestBase::ConnectToService(
48 const GURL& application_url,
49 const std::string& service_name) {
50 ServiceProviderPtr services;
51 shell_context_.application_manager()->ConnectToApplication(
52 application_url, GURL(), GetProxy(&services), nullptr,
53 base::Bind(&QuitIfRunning));
54 MessagePipe pipe;
55 services->ConnectToService(service_name, pipe.handle1.Pass());
56 return pipe.handle0.Pass();
59 #if !defined(OS_ANDROID)
60 void ShellTestBase::SetUpTestApplications() {
61 // Set the URLResolver origin to be the same as the base file path for
62 // local files. This is primarily for test convenience, so that references
63 // to unknown mojo: urls that do not have specific local file or custom
64 // mappings registered on the URL resolver are treated as shared libraries.
65 base::FilePath service_dir;
66 CHECK(PathService::Get(base::DIR_MODULE, &service_dir));
67 shell_context_.url_resolver()->SetMojoBaseURL(FilePathToFileURL(service_dir));
69 #endif
71 } // namespace test
72 } // namespace shell
73 } // namespace mojo