| Index: ios/web_view/test/chrome_web_view_test.mm
|
| diff --git a/ios/web_view/test/chrome_web_view_test.mm b/ios/web_view/test/chrome_web_view_test.mm
|
| deleted file mode 100644
|
| index 039eee429658bf6c3eeace4da4427ab3b510ada8..0000000000000000000000000000000000000000
|
| --- a/ios/web_view/test/chrome_web_view_test.mm
|
| +++ /dev/null
|
| @@ -1,135 +0,0 @@
|
| -// Copyright 2017 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.
|
| -
|
| -#import "ios/web_view/test/chrome_web_view_test.h"
|
| -
|
| -#import <ChromeWebView/ChromeWebView.h>
|
| -#import <Foundation/Foundation.h>
|
| -
|
| -#include "base/base64.h"
|
| -#import "base/memory/ptr_util.h"
|
| -#include "base/strings/stringprintf.h"
|
| -#import "ios/web_view/test/web_view_test_util.h"
|
| -#include "net/base/url_util.h"
|
| -#include "net/test/embedded_test_server/embedded_test_server.h"
|
| -#include "net/test/embedded_test_server/http_request.h"
|
| -#include "net/test/embedded_test_server/http_response.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| -#error "This file requires ARC support."
|
| -#endif
|
| -
|
| -namespace {
|
| -
|
| -// Test server path which renders a basic html page.
|
| -const char kPageHtmlPath[] = "/PageHtml?";
|
| -// URL parameter for html body. Value must be base64 encoded.
|
| -const char kPageHtmlBodyParamName[] = "body";
|
| -// URL parameter for page title. Value must be base64 encoded.
|
| -const char kPageHtmlTitleParamName[] = "title";
|
| -
|
| -// Generates an html response.
|
| -std::unique_ptr<net::test_server::HttpResponse> CreatePageHTMLResponse(
|
| - const std::string& title,
|
| - const std::string& body) {
|
| - std::string html = base::StringPrintf(
|
| - "<html><head><title>%s</title></head><body>%s</body></html>",
|
| - title.c_str(), body.c_str());
|
| -
|
| - auto http_response = base::MakeUnique<net::test_server::BasicHttpResponse>();
|
| - http_response->set_content(html);
|
| - return std::move(http_response);
|
| -}
|
| -
|
| -// Returns true if |string| starts with |prefix|. String comparison is case
|
| -// insensitive.
|
| -bool StartsWith(std::string string, std::string prefix) {
|
| - return base::StartsWith(string, prefix, base::CompareCase::SENSITIVE);
|
| -}
|
| -
|
| -// Encodes the |string| for use as the value of a url parameter.
|
| -std::string EncodeQueryParamValue(std::string string) {
|
| - std::string encoded_string;
|
| - base::Base64Encode(string, &encoded_string);
|
| - return encoded_string;
|
| -}
|
| -
|
| -// Decodes the |encoded_string|. Undoes the encoding performed by
|
| -// |EncodeQueryParamValue|.
|
| -std::string DecodeQueryParamValue(std::string encoded_string) {
|
| - std::string decoded_string;
|
| - base::Base64Decode(encoded_string, &decoded_string);
|
| - return decoded_string;
|
| -}
|
| -
|
| -// Maps test server requests to responses.
|
| -std::unique_ptr<net::test_server::HttpResponse> TestRequestHandler(
|
| - const net::test_server::HttpRequest& request) {
|
| - if (StartsWith(request.relative_url, kPageHtmlPath)) {
|
| - std::string title;
|
| - std::string body;
|
| -
|
| - GURL request_url = request.GetURL();
|
| -
|
| - std::string encoded_title;
|
| - bool title_found = net::GetValueForKeyInQuery(
|
| - request_url, kPageHtmlTitleParamName, &encoded_title);
|
| - if (title_found) {
|
| - title = DecodeQueryParamValue(encoded_title);
|
| - }
|
| -
|
| - std::string encoded_body;
|
| - bool body_found = net::GetValueForKeyInQuery(
|
| - request_url, kPageHtmlBodyParamName, &encoded_body);
|
| - if (body_found) {
|
| - body = DecodeQueryParamValue(encoded_body);
|
| - }
|
| -
|
| - return CreatePageHTMLResponse(title, body);
|
| - }
|
| - return nullptr;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace ios_web_view {
|
| -
|
| -ChromeWebViewTest::ChromeWebViewTest()
|
| - : web_view_(test::CreateWebView()),
|
| - test_server_(base::MakeUnique<net::EmbeddedTestServer>(
|
| - net::test_server::EmbeddedTestServer::TYPE_HTTP)) {
|
| - test_server_->RegisterRequestHandler(base::Bind(&TestRequestHandler));
|
| -}
|
| -
|
| -ChromeWebViewTest::~ChromeWebViewTest() = default;
|
| -
|
| -void ChromeWebViewTest::SetUp() {
|
| - PlatformTest::SetUp();
|
| - ASSERT_TRUE(test_server_->Start());
|
| -}
|
| -
|
| -GURL ChromeWebViewTest::GetUrlForPageWithTitle(const std::string& title) {
|
| - return GetUrlForPageWithTitleAndBody(title, std::string());
|
| -}
|
| -
|
| -GURL ChromeWebViewTest::GetUrlForPageWithHtmlBody(const std::string& html) {
|
| - return GetUrlForPageWithTitleAndBody(std::string(), html);
|
| -}
|
| -
|
| -GURL ChromeWebViewTest::GetUrlForPageWithTitleAndBody(const std::string& title,
|
| - const std::string& body) {
|
| - GURL url = test_server_->GetURL(kPageHtmlPath);
|
| -
|
| - // Encode |title| and |body| in url query in order to build the server
|
| - // response later in TestRequestHandler.
|
| - std::string encoded_title = EncodeQueryParamValue(title);
|
| - url = net::AppendQueryParameter(url, kPageHtmlTitleParamName, encoded_title);
|
| - std::string encoded_body = EncodeQueryParamValue(body);
|
| - url = net::AppendQueryParameter(url, kPageHtmlBodyParamName, encoded_body);
|
| -
|
| - return url;
|
| -}
|
| -
|
| -} // namespace ios_web_view
|
|
|