Skip to content

Commit 40714fa

Browse files
chore: update WPT (nodejs#3954)
Co-authored-by: Uzlopak <[email protected]>
1 parent 8b06b82 commit 40714fa

13 files changed

+889
-10
lines changed
Lines changed: 373 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,373 @@
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/script-json-module-import-static.sub.html
7+
-->
8+
<html lang="en">
9+
<meta charset="utf-8">
10+
<title>HTTP headers on request for static ECMAScript module import</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) {
19+
const script = document.createElement('script');
20+
script.setAttribute('type', 'module');
21+
script.setAttribute(
22+
'src',
23+
'/fetch/metadata/resources/es-json-module.sub.js?moduleId=' + encodeURIComponent(url)
24+
);
25+
26+
return new Promise((resolve, reject) => {
27+
script.onload = resolve;
28+
script.onerror = () => reject('Failed to load script');
29+
document.body.appendChild(script);
30+
})
31+
.then(() => script.remove());
32+
}
33+
34+
promise_test(() => {
35+
const key = '{{uuid()}}';
36+
37+
return induceRequest(
38+
makeRequestURL(
39+
key,
40+
['httpsOrigin'],
41+
{
42+
mime: 'application/json',
43+
body: '{}'
44+
}
45+
)
46+
)
47+
.then(() => retrieve(key))
48+
.then((headers) => {
49+
assert_own_property(headers, 'sec-fetch-site');
50+
assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
51+
});
52+
}, 'sec-fetch-site - Same origin');
53+
54+
promise_test(() => {
55+
const key = '{{uuid()}}';
56+
57+
return induceRequest(
58+
makeRequestURL(
59+
key,
60+
['httpsCrossSite'],
61+
{
62+
mime: 'application/json',
63+
body: '{}'
64+
}
65+
)
66+
)
67+
.then(() => retrieve(key))
68+
.then((headers) => {
69+
assert_own_property(headers, 'sec-fetch-site');
70+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
71+
});
72+
}, 'sec-fetch-site - Cross-site');
73+
74+
promise_test(() => {
75+
const key = '{{uuid()}}';
76+
77+
return induceRequest(
78+
makeRequestURL(
79+
key,
80+
['httpsSameSite'],
81+
{
82+
mime: 'application/json',
83+
body: '{}'
84+
}
85+
)
86+
)
87+
.then(() => retrieve(key))
88+
.then((headers) => {
89+
assert_own_property(headers, 'sec-fetch-site');
90+
assert_array_equals(headers['sec-fetch-site'], ['same-site']);
91+
});
92+
}, 'sec-fetch-site - Same site');
93+
94+
promise_test(() => {
95+
const key = '{{uuid()}}';
96+
97+
return induceRequest(
98+
makeRequestURL(
99+
key,
100+
['httpsOrigin', 'httpsCrossSite', 'httpsOrigin'],
101+
{
102+
mime: 'application/json',
103+
body: '{}'
104+
}
105+
)
106+
)
107+
.then(() => retrieve(key))
108+
.then((headers) => {
109+
assert_own_property(headers, 'sec-fetch-site');
110+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
111+
});
112+
}, 'sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect');
113+
114+
promise_test(() => {
115+
const key = '{{uuid()}}';
116+
117+
return induceRequest(
118+
makeRequestURL(
119+
key,
120+
['httpsOrigin', 'httpsSameSite', 'httpsOrigin'],
121+
{
122+
mime: 'application/json',
123+
body: '{}'
124+
}
125+
)
126+
)
127+
.then(() => retrieve(key))
128+
.then((headers) => {
129+
assert_own_property(headers, 'sec-fetch-site');
130+
assert_array_equals(headers['sec-fetch-site'], ['same-site']);
131+
});
132+
}, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect');
133+
134+
promise_test(() => {
135+
const key = '{{uuid()}}';
136+
137+
return induceRequest(
138+
makeRequestURL(
139+
key,
140+
['httpsCrossSite', 'httpsOrigin'],
141+
{
142+
mime: 'application/json',
143+
body: '{}'
144+
}
145+
)
146+
)
147+
.then(() => retrieve(key))
148+
.then((headers) => {
149+
assert_own_property(headers, 'sec-fetch-site');
150+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
151+
});
152+
}, 'sec-fetch-site - Cross-Site -> Same Origin');
153+
154+
promise_test(() => {
155+
const key = '{{uuid()}}';
156+
157+
return induceRequest(
158+
makeRequestURL(
159+
key,
160+
['httpsCrossSite', 'httpsSameSite'],
161+
{
162+
mime: 'application/json',
163+
body: '{}'
164+
}
165+
)
166+
)
167+
.then(() => retrieve(key))
168+
.then((headers) => {
169+
assert_own_property(headers, 'sec-fetch-site');
170+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
171+
});
172+
}, 'sec-fetch-site - Cross-Site -> Same-Site');
173+
174+
promise_test(() => {
175+
const key = '{{uuid()}}';
176+
177+
return induceRequest(
178+
makeRequestURL(
179+
key,
180+
['httpsCrossSite', 'httpsCrossSite'],
181+
{
182+
mime: 'application/json',
183+
body: '{}'
184+
}
185+
)
186+
)
187+
.then(() => retrieve(key))
188+
.then((headers) => {
189+
assert_own_property(headers, 'sec-fetch-site');
190+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
191+
});
192+
}, 'sec-fetch-site - Cross-Site -> Cross-Site');
193+
194+
promise_test(() => {
195+
const key = '{{uuid()}}';
196+
197+
return induceRequest(
198+
makeRequestURL(
199+
key,
200+
['httpsOrigin', 'httpsOrigin'],
201+
{
202+
mime: 'application/json',
203+
body: '{}'
204+
}
205+
)
206+
)
207+
.then(() => retrieve(key))
208+
.then((headers) => {
209+
assert_own_property(headers, 'sec-fetch-site');
210+
assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
211+
});
212+
}, 'sec-fetch-site - Same-Origin -> Same Origin');
213+
214+
promise_test(() => {
215+
const key = '{{uuid()}}';
216+
217+
return induceRequest(
218+
makeRequestURL(
219+
key,
220+
['httpsOrigin', 'httpsSameSite'],
221+
{
222+
mime: 'application/json',
223+
body: '{}'
224+
}
225+
)
226+
)
227+
.then(() => retrieve(key))
228+
.then((headers) => {
229+
assert_own_property(headers, 'sec-fetch-site');
230+
assert_array_equals(headers['sec-fetch-site'], ['same-site']);
231+
});
232+
}, 'sec-fetch-site - Same-Origin -> Same-Site');
233+
234+
promise_test(() => {
235+
const key = '{{uuid()}}';
236+
237+
return induceRequest(
238+
makeRequestURL(
239+
key,
240+
['httpsOrigin', 'httpsCrossSite'],
241+
{
242+
mime: 'application/json',
243+
body: '{}'
244+
}
245+
)
246+
)
247+
.then(() => retrieve(key))
248+
.then((headers) => {
249+
assert_own_property(headers, 'sec-fetch-site');
250+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
251+
});
252+
}, 'sec-fetch-site - Same-Origin -> Cross-Site');
253+
254+
promise_test(() => {
255+
const key = '{{uuid()}}';
256+
257+
return induceRequest(
258+
makeRequestURL(
259+
key,
260+
['httpsSameSite', 'httpsOrigin'],
261+
{
262+
mime: 'application/json',
263+
body: '{}'
264+
}
265+
)
266+
)
267+
.then(() => retrieve(key))
268+
.then((headers) => {
269+
assert_own_property(headers, 'sec-fetch-site');
270+
assert_array_equals(headers['sec-fetch-site'], ['same-site']);
271+
});
272+
}, 'sec-fetch-site - Same-Site -> Same Origin');
273+
274+
promise_test(() => {
275+
const key = '{{uuid()}}';
276+
277+
return induceRequest(
278+
makeRequestURL(
279+
key,
280+
['httpsSameSite', 'httpsSameSite'],
281+
{
282+
mime: 'application/json',
283+
body: '{}'
284+
}
285+
)
286+
)
287+
.then(() => retrieve(key))
288+
.then((headers) => {
289+
assert_own_property(headers, 'sec-fetch-site');
290+
assert_array_equals(headers['sec-fetch-site'], ['same-site']);
291+
});
292+
}, 'sec-fetch-site - Same-Site -> Same-Site');
293+
294+
promise_test(() => {
295+
const key = '{{uuid()}}';
296+
297+
return induceRequest(
298+
makeRequestURL(
299+
key,
300+
['httpsSameSite', 'httpsCrossSite'],
301+
{
302+
mime: 'application/json',
303+
body: '{}'
304+
}
305+
)
306+
)
307+
.then(() => retrieve(key))
308+
.then((headers) => {
309+
assert_own_property(headers, 'sec-fetch-site');
310+
assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
311+
});
312+
}, 'sec-fetch-site - Same-Site -> Cross-Site');
313+
314+
promise_test(() => {
315+
const key = '{{uuid()}}';
316+
317+
return induceRequest(
318+
makeRequestURL(
319+
key,
320+
[],
321+
{
322+
mime: 'application/json',
323+
body: '{}'
324+
}
325+
)
326+
)
327+
.then(() => retrieve(key))
328+
.then((headers) => {
329+
assert_own_property(headers, 'sec-fetch-mode');
330+
assert_array_equals(headers['sec-fetch-mode'], ['cors']);
331+
});
332+
}, 'sec-fetch-mode');
333+
334+
promise_test(() => {
335+
const key = '{{uuid()}}';
336+
337+
return induceRequest(
338+
makeRequestURL(
339+
key,
340+
[],
341+
{
342+
mime: 'application/json',
343+
body: '{}'
344+
}
345+
)
346+
)
347+
.then(() => retrieve(key))
348+
.then((headers) => {
349+
assert_own_property(headers, 'sec-fetch-dest');
350+
assert_array_equals(headers['sec-fetch-dest'], ['json']);
351+
});
352+
}, 'sec-fetch-dest');
353+
354+
promise_test(() => {
355+
const key = '{{uuid()}}';
356+
357+
return induceRequest(
358+
makeRequestURL(
359+
key,
360+
[],
361+
{
362+
mime: 'application/json',
363+
body: '{}'
364+
}
365+
)
366+
)
367+
.then(() => retrieve(key))
368+
.then((headers) => {
369+
assert_not_own_property(headers, 'sec-fetch-user');
370+
});
371+
}, 'sec-fetch-user');
372+
</script>
373+
</html>

0 commit comments

Comments
 (0)