123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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();
- });
- }
- });
|