| // 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 "shell/mojo_url_resolver.h" |
| |
| #include "base/logging.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace mojo { |
| namespace shell { |
| namespace test { |
| namespace { |
| |
| typedef testing::Test MojoURLResolverTest; |
| |
| TEST_F(MojoURLResolverTest, MojoURLsFallThrough) { |
| MojoURLResolver resolver; |
| resolver.AddCustomMapping(GURL("mojo:test"), GURL("mojo:foo")); |
| const GURL base_url("file:/base"); |
| resolver.SetBaseURL(base_url); |
| std::string resolved(resolver.Resolve(GURL("mojo:test")).spec()); |
| // Resolved must start with |base_url|. |
| EXPECT_EQ(base_url.spec(), resolved.substr(0, base_url.spec().size())); |
| // And must contain foo. |
| EXPECT_NE(std::string::npos, resolved.find("foo")); |
| } |
| |
| } // namespace |
| } // namespace test |
| } // namespace shell |
| } // namespace mojo |