From fa343fa8adb25a7e307e91a3cd3c2c3f24e0152b Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Mon, 21 Mar 2022 02:21:51 -0700 Subject: [bun.js] 1/? Implement `Response.file` --- .../bunjs-only-snippets/response.file.test.js | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 integration/bunjs-only-snippets/response.file.test.js (limited to 'integration/bunjs-only-snippets/response.file.test.js') diff --git a/integration/bunjs-only-snippets/response.file.test.js b/integration/bunjs-only-snippets/response.file.test.js new file mode 100644 index 000000000..442a527f2 --- /dev/null +++ b/integration/bunjs-only-snippets/response.file.test.js @@ -0,0 +1,49 @@ +import fs from "fs"; +import { it, expect } from "bun:test"; +import path from "path"; +it("Response.file", async () => { + const file = path.join(import.meta.dir, "fetch.js.txt"); + expect(await Response.file(file).text()).toBe(fs.readFileSync(file, "utf8")); +}); + +it("Response.file as a blob", async () => { + const file = path.join(import.meta.url, "../fetch.js.txt"); + var response = Response.file(file); + var blob = await response.blob(); + expect(blob.size).toBe(0); + expect(await blob.text()).toBe(fs.readFileSync(file, "utf8")); + expect(blob.size).toBe(1256); + expect(await blob.text()).toBe(fs.readFileSync(file, "utf8")); + + const array = new Uint8Array(await blob.arrayBuffer()); + const text = fs.readFileSync(file, "utf8"); + for (let i = 0; i < text.length; i++) { + expect(array[i]).toBe(text.charCodeAt(i)); + } + expect(blob.size).toBe(1256); + blob = null; + response = null; + Bun.gc(true); + await new Promise((resolve) => setTimeout(resolve, 1)); +}); + +it("Response.file as a blob", async () => { + const file = path.join(import.meta.url, "../fetch.js.txt"); + var response = Response.file(file); + var blob = await response.blob(); + + expect(blob.size).toBe(0); + expect(await blob.text()).toBe(fs.readFileSync(file, "utf8")); + expect(blob.size).toBe(1256); + expect(await blob.text()).toBe(fs.readFileSync(file, "utf8")); + const array = new Uint8Array(await blob.arrayBuffer()); + const text = fs.readFileSync(file, "utf8"); + for (let i = 0; i < text.length; i++) { + expect(array[i]).toBe(text.charCodeAt(i)); + } + expect(blob.size).toBe(1256); + blob = null; + response = null; + Bun.gc(true); + await new Promise((resolve) => setTimeout(resolve, 1)); +}); -- cgit v1.2.3