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