diff options
Diffstat (limited to '')
-rw-r--r-- | test/trailers.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/test/trailers.js b/test/trailers.js new file mode 100644 index 0000000..ca56de2 --- /dev/null +++ b/test/trailers.js @@ -0,0 +1,57 @@ +'use strict' + +const { test } = require('tap') +const { Client } = require('..') +const { createServer } = require('http') + +test('response trailers missing is OK', (t) => { + t.plan(1) + + const server = createServer((req, res) => { + res.writeHead(200, { + Trailer: 'content-length' + }) + res.end('response') + }) + t.teardown(server.close.bind(server)) + server.listen(0, async () => { + const client = new Client(`http://localhost:${server.address().port}`) + t.teardown(client.destroy.bind(client)) + + const { body } = await client.request({ + path: '/', + method: 'GET', + body: 'asd' + }) + + t.equal(await body.text(), 'response') + }) +}) + +test('response trailers missing w trailers is OK', (t) => { + t.plan(2) + + const server = createServer((req, res) => { + res.writeHead(200, { + Trailer: 'content-length' + }) + res.addTrailers({ + asd: 'foo' + }) + res.end('response') + }) + t.teardown(server.close.bind(server)) + server.listen(0, async () => { + const client = new Client(`http://localhost:${server.address().port}`) + t.teardown(client.destroy.bind(client)) + + const { body, trailers } = await client.request({ + path: '/', + method: 'GET', + body: 'asd' + }) + + t.equal(await body.text(), 'response') + t.same(trailers, { asd: 'foo' }) + }) +}) |