aboutsummaryrefslogtreecommitdiff
path: root/test/js/web/fetch/fetch.test.ts
diff options
context:
space:
mode:
authorGravatar Ciro Spaciari <ciro.spaciari@gmail.com> 2023-08-22 00:30:34 -0300
committerGravatar GitHub <noreply@github.com> 2023-08-21 20:30:34 -0700
commit9027484ae1a9eaf9769d79828db48de66450a3fc (patch)
treee6b679132046bbc0ef254a170c0b0ec3030d3fa2 /test/js/web/fetch/fetch.test.ts
parent91eacade975a522f7ad3d62185ff8adace3aad97 (diff)
downloadbun-9027484ae1a9eaf9769d79828db48de66450a3fc.tar.gz
bun-9027484ae1a9eaf9769d79828db48de66450a3fc.tar.zst
bun-9027484ae1a9eaf9769d79828db48de66450a3fc.zip
fetch(stream) add stream support for compressed and uncompressed data (#4127)
* streams non compressed data in 64kb chunks (at least) * fmt * wip remove pause * fix default streaming and buffering * fix atomic lags * fix size * make chunked encoding work again (WIP streaming chunked) * WIP: chunked encoding streaming * fix end of streamings * working streaming + compression * add fixes + tests * fmt + fix proxy * fix oopsies * codegen after merge * fmt + fixes * more fixes * more fixes and logs * avoid double free * check empty before pop * check empty on pop * fix copy to real when complete * remove unnecessary logs * better has_schedule_callback swap, body locked size helper, remove isEmpty from unbounded_queue pop * fix response ref, fix body_size * add deflate support, fix error throw, add more tests * codegen after merge * remove logs, add connection close test * fix macOS build * fix redirect error option * make body_size more clear * support new Reponse(response) * toString DOMWrapper objects properly instead of supporting response in Response constructor * ignore headers with no name, add more tests * oops * handle transform with fetch * add gz image stream test * remove duplicate test * fix missing chunk on macOS under pressure * oops include all OS * some fixes * compare buffers instead of sizes * refactor err.err and protect it
Diffstat (limited to 'test/js/web/fetch/fetch.test.ts')
-rw-r--r--test/js/web/fetch/fetch.test.ts17
1 files changed, 12 insertions, 5 deletions
diff --git a/test/js/web/fetch/fetch.test.ts b/test/js/web/fetch/fetch.test.ts
index a381cb320..59847dde9 100644
--- a/test/js/web/fetch/fetch.test.ts
+++ b/test/js/web/fetch/fetch.test.ts
@@ -4,7 +4,7 @@ import { chmodSync, mkdtempSync, readFileSync, realpathSync, rmSync, writeFileSy
import { mkfifo } from "mkfifo";
import { tmpdir } from "os";
import { join } from "path";
-import { gc, withoutAggressiveGC } from "harness";
+import { gc, withoutAggressiveGC, gcTick } from "harness";
const tmp_dir = mkdtempSync(join(realpathSync(tmpdir()), "fetch.test"));
@@ -1334,11 +1334,18 @@ it("fetch() file:// works", async () => {
expect(await (await fetch(new URL("fetch.test.ts", import.meta.url))).text()).toEqual(
await Bun.file(Bun.fileURLToPath(new URL("fetch.test.ts", import.meta.url))).text(),
);
- expect(await (await fetch(new URL("file with space in the name.txt", import.meta.url))).text()).toEqual(
- await Bun.file(Bun.fileURLToPath(new URL("file with space in the name.txt", import.meta.url))).text(),
- );
+ gc(true);
+ var fileResponse = await fetch(new URL("file with space in the name.txt", import.meta.url));
+ gc(true);
+ var fileResponseText = await fileResponse.text();
+ gc(true);
+ var bunFile = Bun.file(Bun.fileURLToPath(new URL("file with space in the name.txt", import.meta.url)));
+ gc(true);
+ var bunFileText = await bunFile.text();
+ gc(true);
+ expect(fileResponseText).toEqual(bunFileText);
+ gc(true);
});
-
it("cloned response headers are independent before accessing", () => {
const response = new Response("hello", {
headers: {