62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
|
|
var express = require('../');
|
|
var request = require('supertest');
|
|
var should = require('should');
|
|
|
|
describe('exports', function(){
|
|
it('should expose Router', function(){
|
|
express.Router.should.be.a.Function;
|
|
})
|
|
|
|
it('should expose the application prototype', function(){
|
|
express.application.set.should.be.a.Function;
|
|
})
|
|
|
|
it('should expose the request prototype', function(){
|
|
express.request.accepts.should.be.a.Function;
|
|
})
|
|
|
|
it('should expose the response prototype', function(){
|
|
express.response.send.should.be.a.Function;
|
|
})
|
|
|
|
it('should permit modifying the .application prototype', function(){
|
|
express.application.foo = function(){ return 'bar'; };
|
|
express().foo().should.equal('bar');
|
|
})
|
|
|
|
it('should permit modifying the .request prototype', function(done){
|
|
express.request.foo = function(){ return 'bar'; };
|
|
var app = express();
|
|
|
|
app.use(function(req, res, next){
|
|
res.end(req.foo());
|
|
});
|
|
|
|
request(app)
|
|
.get('/')
|
|
.expect('bar', done);
|
|
})
|
|
|
|
it('should permit modifying the .response prototype', function(done){
|
|
express.response.foo = function(){ this.send('bar'); };
|
|
var app = express();
|
|
|
|
app.use(function(req, res, next){
|
|
res.foo();
|
|
});
|
|
|
|
request(app)
|
|
.get('/')
|
|
.expect('bar', done);
|
|
})
|
|
|
|
it('should throw on old middlewares', function(){
|
|
var error;
|
|
try { express.bodyParser; } catch (e) { error = e; }
|
|
should(error).have.property('message');
|
|
error.message.should.containEql('middleware');
|
|
error.message.should.containEql('bodyParser');
|
|
})
|
|
})
|