fetch.https.sub.html (10134B)
1 <!DOCTYPE html> 2 <!-- 3 This test was procedurally generated. Please do not modify it directly. 4 Sources: 5 - fetch/metadata/tools/fetch-metadata.conf.yml 6 - fetch/metadata/tools/templates/fetch.sub.html 7 --> 8 <html lang="en"> 9 <meta charset="utf-8"> 10 <title>HTTP headers on request using the "fetch" API</title> 11 <script src="/resources/testharness.js"></script> 12 <script src="/resources/testharnessreport.js"></script> 13 <script src="/fetch/metadata/resources/helper.sub.js"></script> 14 <body> 15 <script> 16 'use strict'; 17 18 function induceRequest(url, init) { 19 return fetch(url, init); 20 } 21 22 promise_test(() => { 23 const key = '{{uuid()}}'; 24 25 return induceRequest( 26 makeRequestURL(key, ['httpsOrigin']), 27 {"mode": "no-cors"} 28 ) 29 .then(() => retrieve(key)) 30 .then((headers) => { 31 assert_own_property(headers, 'sec-fetch-site'); 32 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 33 }); 34 }, 'sec-fetch-site - Same origin, init: mode=no-cors'); 35 36 promise_test(() => { 37 const key = '{{uuid()}}'; 38 39 return induceRequest( 40 makeRequestURL(key, ['httpsCrossSite']), 41 {"mode": "no-cors"} 42 ) 43 .then(() => retrieve(key)) 44 .then((headers) => { 45 assert_own_property(headers, 'sec-fetch-site'); 46 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 47 }); 48 }, 'sec-fetch-site - Cross-site, init: mode=no-cors'); 49 50 promise_test(() => { 51 const key = '{{uuid()}}'; 52 53 return induceRequest( 54 makeRequestURL(key, ['httpsSameSite']), 55 {"mode": "no-cors"} 56 ) 57 .then(() => retrieve(key)) 58 .then((headers) => { 59 assert_own_property(headers, 'sec-fetch-site'); 60 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 61 }); 62 }, 'sec-fetch-site - Same site, init: mode=no-cors'); 63 64 promise_test(() => { 65 const key = '{{uuid()}}'; 66 67 return induceRequest( 68 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']), 69 {"mode": "no-cors"} 70 ) 71 .then(() => retrieve(key)) 72 .then((headers) => { 73 assert_own_property(headers, 'sec-fetch-site'); 74 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 75 }); 76 }, 'sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect, init: mode=no-cors'); 77 78 promise_test(() => { 79 const key = '{{uuid()}}'; 80 81 return induceRequest( 82 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']), 83 {"mode": "no-cors"} 84 ) 85 .then(() => retrieve(key)) 86 .then((headers) => { 87 assert_own_property(headers, 'sec-fetch-site'); 88 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 89 }); 90 }, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, init: mode=no-cors'); 91 92 promise_test(() => { 93 const key = '{{uuid()}}'; 94 95 return induceRequest( 96 makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']), 97 {"mode": "no-cors"} 98 ) 99 .then(() => retrieve(key)) 100 .then((headers) => { 101 assert_own_property(headers, 'sec-fetch-site'); 102 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 103 }); 104 }, 'sec-fetch-site - Cross-Site -> Same Origin, init: mode=no-cors'); 105 106 promise_test(() => { 107 const key = '{{uuid()}}'; 108 109 return induceRequest( 110 makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']), 111 {"mode": "no-cors"} 112 ) 113 .then(() => retrieve(key)) 114 .then((headers) => { 115 assert_own_property(headers, 'sec-fetch-site'); 116 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 117 }); 118 }, 'sec-fetch-site - Cross-Site -> Same-Site, init: mode=no-cors'); 119 120 promise_test(() => { 121 const key = '{{uuid()}}'; 122 123 return induceRequest( 124 makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']), 125 {"mode": "no-cors"} 126 ) 127 .then(() => retrieve(key)) 128 .then((headers) => { 129 assert_own_property(headers, 'sec-fetch-site'); 130 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 131 }); 132 }, 'sec-fetch-site - Cross-Site -> Cross-Site, init: mode=no-cors'); 133 134 promise_test(() => { 135 const key = '{{uuid()}}'; 136 137 return induceRequest( 138 makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']), 139 {"mode": "no-cors"} 140 ) 141 .then(() => retrieve(key)) 142 .then((headers) => { 143 assert_own_property(headers, 'sec-fetch-site'); 144 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 145 }); 146 }, 'sec-fetch-site - Same-Origin -> Same Origin, init: mode=no-cors'); 147 148 promise_test(() => { 149 const key = '{{uuid()}}'; 150 151 return induceRequest( 152 makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']), 153 {"mode": "no-cors"} 154 ) 155 .then(() => retrieve(key)) 156 .then((headers) => { 157 assert_own_property(headers, 'sec-fetch-site'); 158 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 159 }); 160 }, 'sec-fetch-site - Same-Origin -> Same-Site, init: mode=no-cors'); 161 162 promise_test(() => { 163 const key = '{{uuid()}}'; 164 165 return induceRequest( 166 makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']), 167 {"mode": "no-cors"} 168 ) 169 .then(() => retrieve(key)) 170 .then((headers) => { 171 assert_own_property(headers, 'sec-fetch-site'); 172 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 173 }); 174 }, 'sec-fetch-site - Same-Origin -> Cross-Site, init: mode=no-cors'); 175 176 promise_test(() => { 177 const key = '{{uuid()}}'; 178 179 return induceRequest( 180 makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']), 181 {"mode": "no-cors"} 182 ) 183 .then(() => retrieve(key)) 184 .then((headers) => { 185 assert_own_property(headers, 'sec-fetch-site'); 186 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 187 }); 188 }, 'sec-fetch-site - Same-Site -> Same Origin, init: mode=no-cors'); 189 190 promise_test(() => { 191 const key = '{{uuid()}}'; 192 193 return induceRequest( 194 makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']), 195 {"mode": "no-cors"} 196 ) 197 .then(() => retrieve(key)) 198 .then((headers) => { 199 assert_own_property(headers, 'sec-fetch-site'); 200 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 201 }); 202 }, 'sec-fetch-site - Same-Site -> Same-Site, init: mode=no-cors'); 203 204 promise_test(() => { 205 const key = '{{uuid()}}'; 206 207 return induceRequest( 208 makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']), 209 {"mode": "no-cors"} 210 ) 211 .then(() => retrieve(key)) 212 .then((headers) => { 213 assert_own_property(headers, 'sec-fetch-site'); 214 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 215 }); 216 }, 'sec-fetch-site - Same-Site -> Cross-Site, init: mode=no-cors'); 217 218 promise_test(() => { 219 const key = '{{uuid()}}'; 220 221 return induceRequest( 222 makeRequestURL(key, []), 223 {} 224 ) 225 .then(() => retrieve(key)) 226 .then((headers) => { 227 assert_own_property(headers, 'sec-fetch-mode'); 228 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 229 }); 230 }, 'sec-fetch-mode - no init'); 231 232 promise_test(() => { 233 const key = '{{uuid()}}'; 234 235 return induceRequest( 236 makeRequestURL(key, []), 237 {"mode": "cors"} 238 ) 239 .then(() => retrieve(key)) 240 .then((headers) => { 241 assert_own_property(headers, 'sec-fetch-mode'); 242 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 243 }); 244 }, 'sec-fetch-mode - init: mode=cors'); 245 246 promise_test(() => { 247 const key = '{{uuid()}}'; 248 249 return induceRequest( 250 makeRequestURL(key, []), 251 {"mode": "no-cors"} 252 ) 253 .then(() => retrieve(key)) 254 .then((headers) => { 255 assert_own_property(headers, 'sec-fetch-mode'); 256 assert_array_equals(headers['sec-fetch-mode'], ['no-cors']); 257 }); 258 }, 'sec-fetch-mode - init: mode=no-cors'); 259 260 promise_test(() => { 261 const key = '{{uuid()}}'; 262 263 return induceRequest( 264 makeRequestURL(key, []), 265 {"mode": "same-origin"} 266 ) 267 .then(() => retrieve(key)) 268 .then((headers) => { 269 assert_own_property(headers, 'sec-fetch-mode'); 270 assert_array_equals(headers['sec-fetch-mode'], ['same-origin']); 271 }); 272 }, 'sec-fetch-mode - init: mode=same-origin'); 273 274 promise_test(() => { 275 const key = '{{uuid()}}'; 276 277 return induceRequest( 278 makeRequestURL(key, []), 279 {} 280 ) 281 .then(() => retrieve(key)) 282 .then((headers) => { 283 assert_own_property(headers, 'sec-fetch-dest'); 284 assert_array_equals(headers['sec-fetch-dest'], ['empty']); 285 }); 286 }, 'sec-fetch-dest - no init'); 287 288 promise_test(() => { 289 const key = '{{uuid()}}'; 290 291 return induceRequest( 292 makeRequestURL(key, []), 293 {} 294 ) 295 .then(() => retrieve(key)) 296 .then((headers) => { 297 assert_not_own_property(headers, 'sec-fetch-user'); 298 }); 299 }, 'sec-fetch-user - no init'); 300 301 promise_test(() => { 302 const key = '{{uuid()}}'; 303 304 return induceRequest( 305 makeRequestURL(key, ['httpsCrossSite']), 306 {"credentials": "include", "mode": "no-cors"} 307 ) 308 .then(() => retrieve(key)) 309 .then((headers) => { 310 assert_own_property(headers, 'sec-fetch-storage-access'); 311 assert_array_equals(headers['sec-fetch-storage-access'], ['none']); 312 }); 313 }, 'sec-fetch-storage-access - Cross-site, init: mode=no-cors, credentials=include'); 314 315 promise_test(() => { 316 const key = '{{uuid()}}'; 317 318 return induceRequest( 319 makeRequestURL(key, ['httpsSameSite']), 320 {"credentials": "include", "mode": "no-cors"} 321 ) 322 .then(() => retrieve(key)) 323 .then((headers) => { 324 assert_not_own_property(headers, 'sec-fetch-storage-access'); 325 }); 326 }, 'sec-fetch-storage-access - Same site, init: mode=no-cors, credentials=include'); 327 </script> 328 </body> 329 </html>