67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| 
 | |
| var express = require('../');
 | |
| var request = require('supertest');
 | |
| var assert = require('node:assert');
 | |
| 
 | |
| describe('HEAD', function(){
 | |
|   it('should default to GET', function(done){
 | |
|     var app = express();
 | |
| 
 | |
|     app.get('/tobi', function(req, res){
 | |
|       // send() detects HEAD
 | |
|       res.send('tobi');
 | |
|     });
 | |
| 
 | |
|     request(app)
 | |
|     .head('/tobi')
 | |
|     .expect(200, done);
 | |
|   })
 | |
| 
 | |
|   it('should output the same headers as GET requests', function(done){
 | |
|     var app = express();
 | |
| 
 | |
|     app.get('/tobi', function(req, res){
 | |
|       // send() detects HEAD
 | |
|       res.send('tobi');
 | |
|     });
 | |
| 
 | |
|     request(app)
 | |
|     .head('/tobi')
 | |
|     .expect(200, function(err, res){
 | |
|       if (err) return done(err);
 | |
|       var headers = res.headers;
 | |
|       request(app)
 | |
|       .get('/tobi')
 | |
|       .expect(200, function(err, res){
 | |
|         if (err) return done(err);
 | |
|         delete headers.date;
 | |
|         delete res.headers.date;
 | |
|         assert.deepEqual(res.headers, headers);
 | |
|         done();
 | |
|       });
 | |
|     });
 | |
|   })
 | |
| })
 | |
| 
 | |
| describe('app.head()', function(){
 | |
|   it('should override', function(done){
 | |
|     var app = express()
 | |
| 
 | |
|     app.head('/tobi', function(req, res){
 | |
|       res.header('x-method', 'head')
 | |
|       res.end()
 | |
|     });
 | |
| 
 | |
|     app.get('/tobi', function(req, res){
 | |
|       res.header('x-method', 'get')
 | |
|       res.send('tobi');
 | |
|     });
 | |
| 
 | |
|     request(app)
 | |
|       .head('/tobi')
 | |
|       .expect('x-method', 'head')
 | |
|       .expect(200, done)
 | |
|   })
 | |
| })
 |