Skip to content

Commit fa435ab

Browse files
Jake ChampionJakeChampion
authored andcommitted
Add some tests for Response and overrideContentLength
1 parent d82a993 commit fa435ab

File tree

4 files changed

+289
-544
lines changed

4 files changed

+289
-544
lines changed

integration-tests/js-compute/fixtures/app/src/override-content-length.js

Lines changed: 56 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,6 @@ async function requestInitObjectLiteral(overrideContentLength) {
2121
return body?.headers?.["content-length"];
2222
}
2323

24-
async function requestInitRequestInstance(overrideContentLength) {
25-
let request = new Request('https://http-me.glitch.me/anything', {
26-
backend: 'httpme',
27-
method: 'POST',
28-
body: 'meow',
29-
overrideContentLength,
30-
headers: {
31-
"content-length": "1"
32-
}
33-
});
34-
let response = await fetch(new Request('https://http-me.glitch.me/anything', request));
35-
let body = await response.json()
36-
return body?.headers?.["content-length"];
37-
}
38-
3924
async function requestClone(overrideContentLength) {
4025
let request = new Request('https://http-me.glitch.me/anything', {
4126
backend: 'httpme',
@@ -65,21 +50,6 @@ async function fetchInitObjectLiteral(overrideContentLength) {
6550
return body?.headers?.["content-length"];
6651
}
6752

68-
async function fetchInitRequestInstance(overrideContentLength) {
69-
let request = new Request('https://http-me.glitch.me/anything', {
70-
backend: 'httpme',
71-
method: 'POST',
72-
body: 'meow',
73-
overrideContentLength,
74-
headers: {
75-
"content-length": "1"
76-
}
77-
});
78-
let response = await fetch('https://http-me.glitch.me/anything', request);
79-
let body = await response.json()
80-
return body?.headers?.["content-length"];
81-
}
82-
8353
routes.set("/override-content-length/request/init/object-literal/true", async () => {
8454
if (isRunningLocally()) {
8555
error = await assertRejects(() => requestInitObjectLiteral(true))
@@ -103,29 +73,6 @@ routes.set("/override-content-length/request/init/object-literal/false", async (
10373
return pass('ok')
10474
});
10575

106-
routes.set("/override-content-length/request/init/request-instance/true", async () => {
107-
if (isRunningLocally()) {
108-
error = await assertRejects(() => requestInitRequestInstance(true))
109-
if (error) { return error }
110-
} else {
111-
let actual = await requestInitRequestInstance(true);
112-
let expected = "1"
113-
error = assert(actual, expected, `await requestInitRequestInstance(true)`)
114-
if (error) { return error }
115-
}
116-
117-
return pass('ok')
118-
});
119-
120-
routes.set("/override-content-length/request/init/request-instance/false", async () => {
121-
let actual = await requestInitRequestInstance(false);
122-
let expected = "4"
123-
error = assert(actual, expected, `await requestInitRequestInstance(false)`)
124-
if (error) { return error }
125-
126-
return pass('ok')
127-
});
128-
12976
routes.set("/override-content-length/request/clone/true", async () => {
13077
if (isRunningLocally()) {
13178
error = await assertRejects(() => requestClone(true))
@@ -172,25 +119,63 @@ routes.set("/override-content-length/fetch/init/object-literal/false", async ()
172119
return pass('ok')
173120
});
174121

175-
routes.set("/override-content-length/fetch/init/request-instance/true", async () => {
176-
if (isRunningLocally()) {
177-
error = await assertRejects(() => fetchInitRequestInstance(true))
178-
if (error) { return error }
179-
} else {
180-
let actual = await fetchInitRequestInstance(true);
181-
let expected = "1"
182-
error = assert(actual, expected, `await fetchInitRequestInstance(true)`)
183-
if (error) { return error }
184-
}
122+
async function responseInitObjectLiteral(overrideContentLength) {
123+
let response = new Response('meow', {
124+
overrideContentLength,
125+
headers: {
126+
"transfer-encoding": "chunked"
127+
}
128+
});
129+
return response;
130+
}
185131

186-
return pass('ok')
132+
async function responseInitresponseInstance(overrideContentLength) {
133+
let response = new Response('meow', {
134+
overrideContentLength,
135+
headers: {
136+
"transfer-encoding": "chunked"
137+
}
138+
});
139+
response = new Response('meow', response);
140+
return response;
141+
}
142+
143+
routes.set("/override-content-length/response/init/object-literal/true", async () => {
144+
return responseInitObjectLiteral(true);
187145
});
188146

189-
routes.set("/override-content-length/fetch/init/request-instance/false", async () => {
190-
let actual = await fetchInitRequestInstance(false);
191-
let expected = "4"
192-
error = assert(actual, expected, `await fetchInitRequestInstance(false)`)
193-
if (error) { return error }
147+
routes.set("/override-content-length/response/init/object-literal/false", async () => {
148+
return responseInitObjectLiteral(false);
149+
});
194150

195-
return pass('ok')
196-
});
151+
routes.set("/override-content-length/response/init/response-instance/true", async () => {
152+
return responseInitresponseInstance(true);
153+
});
154+
155+
routes.set("/override-content-length/response/init/response-instance/false", async () => {
156+
return responseInitresponseInstance(false);
157+
});
158+
159+
160+
// TODO: uncomment when we have an implementation of Response.prototype.clone
161+
// async function responseClone(overrideContentLength) {
162+
// let response = new Response('meow', {
163+
// backend: 'httpme',
164+
// method: 'POST',
165+
// body: 'meow',
166+
// overrideContentLength,
167+
// headers: {
168+
// "transfer-encoding": "chunked"
169+
// }
170+
// });
171+
// response = response.clone();
172+
// return response;
173+
// }
174+
175+
// routes.set("/override-content-length/response/clone/true", async () => {
176+
// return responseClone(true);
177+
// });
178+
179+
// routes.set("/override-content-length/response/clone/false", async () => {
180+
// return responseClone(false);
181+
// });

0 commit comments

Comments
 (0)