build: Node.js@12.3
[express.git] / test / req.get.js
blob109a2d90ce770592ae35b71deac814426628bf07
2 var express = require('../')
3   , request = require('supertest')
4   , assert = require('assert');
6 describe('req', function(){
7   describe('.get(field)', function(){
8     it('should return the header field value', function(done){
9       var app = express();
11       app.use(function(req, res){
12         assert(req.get('Something-Else') === undefined);
13         res.end(req.get('Content-Type'));
14       });
16       request(app)
17       .post('/')
18       .set('Content-Type', 'application/json')
19       .expect('application/json', done);
20     })
22     it('should special-case Referer', function(done){
23       var app = express();
25       app.use(function(req, res){
26         res.end(req.get('Referer'));
27       });
29       request(app)
30       .post('/')
31       .set('Referrer', 'http://foobar.com')
32       .expect('http://foobar.com', done);
33     })
35     it('should throw missing header name', function (done) {
36       var app = express()
38       app.use(function (req, res) {
39         res.end(req.get())
40       })
42       request(app)
43       .get('/')
44       .expect(500, /TypeError: name argument is required to req.get/, done)
45     })
47     it('should throw for non-string header name', function (done) {
48       var app = express()
50       app.use(function (req, res) {
51         res.end(req.get(42))
52       })
54       request(app)
55       .get('/')
56       .expect(500, /TypeError: name must be a string to req.get/, done)
57     })
58   })