From 383285ecd5292bf9a825e05904955b937de84cc9 Mon Sep 17 00:00:00 2001 From: Minteck Date: Sat, 4 Jun 2022 08:51:01 +0200 Subject: Initial commit --- node_modules/body/test/unit.js | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 node_modules/body/test/unit.js (limited to 'node_modules/body/test/unit.js') diff --git a/node_modules/body/test/unit.js b/node_modules/body/test/unit.js new file mode 100644 index 0000000..33c2811 --- /dev/null +++ b/node_modules/body/test/unit.js @@ -0,0 +1,60 @@ +var after = require('after'); +var body = require('../index.js'); +var hammock = require('hammock'); +var test = require('tape'); + +test('caching works', function t(assert) { + var request = hammock.Request({ + method: 'GET', + headers: { + 'Content-Type': 'application/json' + }, + url: '/somewhere' + }); + var response = hammock.Response(); + + var done = after(2, assert.end.bind(assert)); + + body(request, response, { cache: true }, function onBody(err, body) { + assert.equal(body, 'thisbody', 'raw body has been set'); + assert.pass('body is parsed'); + done(); + }); + + request.on('end', function() { + body(request, response, { cache: true }, function onBody(err, body) { + assert.equal(body, 'thisbody', 'cached body is provided'); + assert.pass('body is parsed'); + done(); + }); + }); + + request.end('thisbody'); +}); + +test('parallel caching works', function t(assert) { + var request = hammock.Request({ + method: 'GET', + headers: { + 'Content-Type': 'application/json' + }, + url: '/somewhere' + }); + request.end('thisbody'); + var response = hammock.Response(); + + var done = after(5, function() { + process.nextTick(function() { + assert.equal(request.listeners('rawBody').length, 0, 'rawBody listeners cleared'); + assert.end(); + }); + }); + + for (var i = 0; i < 5; ++i) { + body(request, response, { cache: true }, function onBody(err, body) { + assert.equal(body, 'thisbody', 'raw body has been set'); + assert.pass('body is parsed'); + done(); + }); + } +}); -- cgit