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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/RequestTest.cpp

Issue 2828293002: Copy the {credentials,cache,redirect,} modes for Fetch Requests (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/modules/fetch/Request.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/fetch/Request.h" 5 #include "modules/fetch/Request.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include "bindings/core/v8/ExceptionState.h" 8 #include "bindings/core/v8/ExceptionState.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "bindings/core/v8/V8BindingForTesting.h" 10 #include "bindings/core/v8/V8BindingForTesting.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 struct { 55 struct {
56 const char* key; 56 const char* key;
57 const char* value; 57 const char* value;
58 } headers[] = {{"X-Foo", "bar"}, {"X-Quux", "foop"}, {0, 0}}; 58 } headers[] = {{"X-Foo", "bar"}, {"X-Quux", "foop"}, {0, 0}};
59 const String referrer = "http://www.referrer.com/"; 59 const String referrer = "http://www.referrer.com/";
60 const WebReferrerPolicy kReferrerPolicy = kWebReferrerPolicyAlways; 60 const WebReferrerPolicy kReferrerPolicy = kWebReferrerPolicyAlways;
61 const WebURLRequest::RequestContext kContext = 61 const WebURLRequest::RequestContext kContext =
62 WebURLRequest::kRequestContextAudio; 62 WebURLRequest::kRequestContextAudio;
63 const WebURLRequest::FetchRequestMode kMode = 63 const WebURLRequest::FetchRequestMode kMode =
64 WebURLRequest::kFetchRequestModeNavigate; 64 WebURLRequest::kFetchRequestModeNavigate;
65 const WebURLRequest::FetchCredentialsMode kCredentialsMode =
66 WebURLRequest::kFetchCredentialsModeInclude;
67 const WebURLRequest::FetchRequestCacheMode kCacheMode =
68 WebURLRequest::kFetchRequestCacheModeNoCache;
69 const WebURLRequest::FetchRedirectMode kRedirectMode =
70 WebURLRequest::kFetchRedirectModeError;
65 71
66 web_request.SetURL(url); 72 web_request.SetURL(url);
67 web_request.SetMethod(method); 73 web_request.SetMethod(method);
74 web_request.SetMode(kMode);
75 web_request.SetCredentialsMode(kCredentialsMode);
76 web_request.SetCacheMode(kCacheMode);
77 web_request.SetRedirectMode(kRedirectMode);
68 web_request.SetRequestContext(kContext); 78 web_request.SetRequestContext(kContext);
69 web_request.SetMode(kMode);
70 for (int i = 0; headers[i].key; ++i) 79 for (int i = 0; headers[i].key; ++i)
71 web_request.SetHeader(WebString::FromUTF8(headers[i].key), 80 web_request.SetHeader(WebString::FromUTF8(headers[i].key),
72 WebString::FromUTF8(headers[i].value)); 81 WebString::FromUTF8(headers[i].value));
73 web_request.SetReferrer(referrer, kReferrerPolicy); 82 web_request.SetReferrer(referrer, kReferrerPolicy);
74 83
75 Request* request = Request::Create(scope.GetScriptState(), web_request); 84 Request* request = Request::Create(scope.GetScriptState(), web_request);
76 DCHECK(request); 85 DCHECK(request);
77 EXPECT_EQ(url, request->url()); 86 EXPECT_EQ(url, request->url());
78 EXPECT_EQ(method, request->method()); 87 EXPECT_EQ(method, request->method());
79 EXPECT_EQ("audio", request->Context()); 88 EXPECT_EQ("audio", request->Context());
(...skipping 10 matching lines...) Expand all
90 iter != headers_map.end(); ++iter) { 99 iter != headers_map.end(); ++iter) {
91 DummyExceptionStateForTesting exception_state; 100 DummyExceptionStateForTesting exception_state;
92 EXPECT_EQ(iter->value, request_headers->get(iter->key, exception_state)); 101 EXPECT_EQ(iter->value, request_headers->get(iter->key, exception_state));
93 EXPECT_FALSE(exception_state.HadException()); 102 EXPECT_FALSE(exception_state.HadException());
94 } 103 }
95 104
96 WebServiceWorkerRequest second_web_request; 105 WebServiceWorkerRequest second_web_request;
97 request->PopulateWebServiceWorkerRequest(second_web_request); 106 request->PopulateWebServiceWorkerRequest(second_web_request);
98 EXPECT_EQ(url, KURL(second_web_request.Url())); 107 EXPECT_EQ(url, KURL(second_web_request.Url()));
99 EXPECT_EQ(method, String(second_web_request.Method())); 108 EXPECT_EQ(method, String(second_web_request.Method()));
109 EXPECT_EQ(kMode, second_web_request.Mode());
110 EXPECT_EQ(kCredentialsMode, second_web_request.CredentialsMode());
111 EXPECT_EQ(kCacheMode, second_web_request.CacheMode());
112 EXPECT_EQ(kRedirectMode, second_web_request.RedirectMode());
100 EXPECT_EQ(kContext, second_web_request.GetRequestContext()); 113 EXPECT_EQ(kContext, second_web_request.GetRequestContext());
101 EXPECT_EQ(referrer, KURL(second_web_request.ReferrerUrl())); 114 EXPECT_EQ(referrer, KURL(second_web_request.ReferrerUrl()));
102 EXPECT_EQ(kWebReferrerPolicyAlways, second_web_request.GetReferrerPolicy()); 115 EXPECT_EQ(kWebReferrerPolicyAlways, second_web_request.GetReferrerPolicy());
103 EXPECT_EQ(web_request.Headers(), second_web_request.Headers()); 116 EXPECT_EQ(web_request.Headers(), second_web_request.Headers());
104 EXPECT_EQ(WebURLRequest::kFetchRequestModeNoCORS, second_web_request.Mode());
105 } 117 }
106 118
107 TEST(ServiceWorkerRequestTest, ToWebRequestStripsURLFragment) { 119 TEST(ServiceWorkerRequestTest, ToWebRequestStripsURLFragment) {
108 V8TestingScope scope; 120 V8TestingScope scope;
109 DummyExceptionStateForTesting exception_state; 121 DummyExceptionStateForTesting exception_state;
110 String url_without_fragment = "http://www.example.com/"; 122 String url_without_fragment = "http://www.example.com/";
111 String url = url_without_fragment + "#fragment"; 123 String url = url_without_fragment + "#fragment";
112 Request* request = 124 Request* request =
113 Request::Create(scope.GetScriptState(), url, exception_state); 125 Request::Create(scope.GetScriptState(), url, exception_state);
114 DCHECK(request); 126 DCHECK(request);
115 127
116 WebServiceWorkerRequest web_request; 128 WebServiceWorkerRequest web_request;
117 request->PopulateWebServiceWorkerRequest(web_request); 129 request->PopulateWebServiceWorkerRequest(web_request);
118 EXPECT_EQ(url_without_fragment, KURL(web_request.Url())); 130 EXPECT_EQ(url_without_fragment, KURL(web_request.Url()));
119 } 131 }
120 132
121 } // namespace 133 } // namespace
122 } // namespace blink 134 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/fetch/Request.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698