diff options
author | Minteck <contact@minteck.org> | 2022-06-04 08:51:01 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-06-04 08:51:01 +0200 |
commit | 383285ecd5292bf9a825e05904955b937de84cc9 (patch) | |
tree | 0a53b6f02c1604b078044567c03dc1b6c944c8c2 /node_modules/body/test/unit.js | |
download | equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.gz equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.bz2 equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.zip |
Initial commit
Diffstat (limited to 'node_modules/body/test/unit.js')
-rw-r--r-- | node_modules/body/test/unit.js | 60 |
1 files changed, 60 insertions, 0 deletions
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(); + }); + } +}); |