File: middleware.basic.js

package info (click to toggle)
node-express 4.1.1~dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch
  • size: 1,016 kB
  • ctags: 447
  • sloc: makefile: 44; sh: 11
file content (44 lines) | stat: -rw-r--r-- 1,106 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

var express = require('../');
var request = require('supertest');

describe('middleware', function(){
  describe('.next()', function(){
    it('should behave like connect', function(done){
      var app = express()
        , calls = [];

      app.use(function(req, res, next){
        calls.push('one');
        next();
      });

      app.use(function(req, res, next){
        calls.push('two');
        next();
      });

      app.use(function(req, res){
        var buf = '';
        res.setHeader('Content-Type', 'application/json');
        req.setEncoding('utf8');
        req.on('data', function(chunk){ buf += chunk });
        req.on('end', function(){
          res.end(buf);
        });
      });

      request(app.listen())
      .get('/')
      .set('Content-Type', 'application/json')
      .send('{"foo":"bar"}')
      .end(function(err, res){
        if (err) return done(err);
        res.headers.should.have.property('content-type', 'application/json');
        res.statusCode.should.equal(200);
        res.text.should.equal('{"foo":"bar"}');
        done();
      })
    })
  })
})