diff options
author | Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com> | 2020-01-17 15:44:35 -0800 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2020-01-17 18:44:35 -0500 |
commit | fc077cd315f3d2ea508f2aac39bc65d4ac6a5747 (patch) | |
tree | 6a37b08aee4dbd425ba6cdf58b6604e99c389b24 /std/http/server_test.ts | |
parent | 5fa056e53be6d17ab746629ea0eaa89fe817141b (diff) |
std/http: allow response body to be string (#3705)
Diffstat (limited to 'std/http/server_test.ts')
-rw-r--r-- | std/http/server_test.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/std/http/server_test.ts b/std/http/server_test.ts index 5dbbe526c..5fe06f357 100644 --- a/std/http/server_test.ts +++ b/std/http/server_test.ts @@ -346,6 +346,38 @@ test(async function writeUint8ArrayResponse(): Promise<void> { assertEquals(eof, Deno.EOF); }); +test(async function writeStringResponse(): Promise<void> { + const body = "Hello"; + + const res: Response = { body }; + + const buf = new Deno.Buffer(); + await writeResponse(buf, res); + + const decoder = new TextDecoder("utf-8"); + const reader = new BufReader(buf); + + let r: ReadLineResult; + r = assertNotEOF(await reader.readLine()); + assertEquals(decoder.decode(r.line), "HTTP/1.1 200 OK"); + assertEquals(r.more, false); + + r = assertNotEOF(await reader.readLine()); + assertEquals(decoder.decode(r.line), `content-length: ${body.length}`); + assertEquals(r.more, false); + + r = assertNotEOF(await reader.readLine()); + assertEquals(r.line.byteLength, 0); + assertEquals(r.more, false); + + r = assertNotEOF(await reader.readLine()); + assertEquals(decoder.decode(r.line), body); + assertEquals(r.more, false); + + const eof = await reader.readLine(); + assertEquals(eof, Deno.EOF); +}); + test(async function writeStringReaderResponse(): Promise<void> { const shortText = "Hello"; |