UNPKG

@halsp/native

Version:

Halsp 的 NodeJS 原生环境

42 lines (37 loc) 1.18 kB
import "../../src"; import request from "supertest"; import { createReadStream } from "fs"; import { Startup } from "@halsp/core"; test("stream body", async () => { const server = await new Startup() .useNative({ port: 0, }) .use(async (ctx) => { ctx.res.ok(createReadStream("./LICENSE")); }) .listen(); const res = await request(server).get(""); server.close(); expect(res.status).toBe(200); expect(res.headers["content-type"]).toBe("application/octet-stream"); const buffer = res.body as Buffer; expect(buffer.toString().startsWith("MIT License")).toBeTruthy(); }); test("stream body explicit type", async () => { const server = await new Startup() .useNative({ port: 0, }) .use(async (ctx) => { ctx.res.setHeader("content-type", "application/octet-stream"); ctx.res.ok(createReadStream("./LICENSE")); }) .listen(); const res = await request(server).get(""); server.close(); expect(res.status).toBe(200); expect(res.headers["content-type"]).toBe("application/octet-stream"); const buffer = res.body as Buffer; expect(buffer.toString().startsWith("MIT License")).toBeTruthy(); });