aboutsummaryrefslogtreecommitdiff
path: root/node_modules/body/test/unit.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
committerMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
commit383285ecd5292bf9a825e05904955b937de84cc9 (patch)
tree0a53b6f02c1604b078044567c03dc1b6c944c8c2 /node_modules/body/test/unit.js
downloadequestriadb-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.js60
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();
+ });
+ }
+});