summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/unit/fetch_test.ts29
1 files changed, 26 insertions, 3 deletions
diff --git a/cli/tests/unit/fetch_test.ts b/cli/tests/unit/fetch_test.ts
index a668bb480..fde119bf1 100644
--- a/cli/tests/unit/fetch_test.ts
+++ b/cli/tests/unit/fetch_test.ts
@@ -1776,9 +1776,7 @@ Deno.test(
Deno.test(
{ permissions: { net: true } },
- async function fetchBlobUrl(): Promise<
- void
- > {
+ async function fetchBlobUrl(): Promise<void> {
const blob = new Blob(["ok"], { type: "text/plain" });
const url = URL.createObjectURL(blob);
const res = await fetch(url);
@@ -1805,3 +1803,28 @@ Deno.test(
await promise;
},
);
+
+Deno.test(
+ { permissions: { net: true } },
+ async function fetchConstructorClones() {
+ const req = new Request("https://example.com", {
+ method: "POST",
+ body: "foo",
+ });
+ assertEquals(await req.text(), "foo");
+ await assertRejects(() => req.text());
+
+ const req2 = new Request(req, { method: "PUT", body: "bar" }); // should not have any impact on req
+ await assertRejects(() => req.text());
+ assertEquals(await req2.text(), "bar");
+
+ assertEquals(req.method, "POST");
+ assertEquals(req2.method, "PUT");
+
+ assertEquals(req.headers.get("x-foo"), null);
+ assertEquals(req2.headers.get("x-foo"), null);
+ req2.headers.set("x-foo", "bar"); // should not have any impact on req
+ assertEquals(req.headers.get("x-foo"), null);
+ assertEquals(req2.headers.get("x-foo"), "bar");
+ },
+);