|  | // Copyright 2019 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "content/common/fetch/fetch_api_request_proto.h" | 
|  |  | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace content { | 
|  |  | 
|  | TEST(FetchAPIRequestProtoTest, SerialiazeDeserializeRoundTrip) { | 
|  | auto request = blink::mojom::FetchAPIRequest::New(); | 
|  | request->mode = network::mojom::RequestMode::kSameOrigin; | 
|  | request->is_main_resource_load = true; | 
|  | request->url = GURL("foo.com"); | 
|  | request->method = "GET"; | 
|  | request->headers = {{"User-Agent", "Chrome"}}; | 
|  | request->referrer = blink::mojom::Referrer::New( | 
|  | GURL("bar.com"), | 
|  | network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade); | 
|  | request->credentials_mode = network::mojom::CredentialsMode::kSameOrigin; | 
|  | request->cache_mode = blink::mojom::FetchCacheMode::kForceCache; | 
|  | request->redirect_mode = network::mojom::RedirectMode::kManual; | 
|  | request->integrity = "integrity"; | 
|  | request->keepalive = true; | 
|  | request->is_reload = true; | 
|  |  | 
|  | EXPECT_EQ(SerializeFetchRequestToString(*request), | 
|  | SerializeFetchRequestToString(*DeserializeFetchRequestFromString( | 
|  | SerializeFetchRequestToString(*request)))); | 
|  | } | 
|  |  | 
|  | }  // namespace content |