mirror of
https://github.com/expressjs/express.git
synced 2026-02-26 00:55:04 +00:00
test: include edge case tests for res.type() (#7037)
This commit is contained in:
@@ -42,5 +42,74 @@ describe('res', function(){
|
||||
.get('/')
|
||||
.expect('Content-Type', 'application/vnd.amazon.ebook', done);
|
||||
})
|
||||
|
||||
describe('edge cases', function(){
|
||||
it('should handle empty string gracefully', function(done){
|
||||
var app = express();
|
||||
|
||||
app.use(function(req, res){
|
||||
res.type('').end('test');
|
||||
});
|
||||
|
||||
request(app)
|
||||
.get('/')
|
||||
.expect('Content-Type', 'application/octet-stream')
|
||||
.end(done);
|
||||
})
|
||||
|
||||
it('should handle file extension with dots', function(done){
|
||||
var app = express();
|
||||
|
||||
app.use(function(req, res){
|
||||
res.type('.json').end('{"test": true}');
|
||||
});
|
||||
|
||||
request(app)
|
||||
.get('/')
|
||||
.expect('Content-Type', 'application/json; charset=utf-8')
|
||||
.end(done);
|
||||
})
|
||||
|
||||
it('should handle multiple file extensions', function(done){
|
||||
var app = express();
|
||||
|
||||
app.use(function(req, res){
|
||||
res.type('file.tar.gz').end('compressed');
|
||||
});
|
||||
|
||||
request(app)
|
||||
.get('/')
|
||||
.expect('Content-Type', 'application/gzip')
|
||||
.end(done);
|
||||
})
|
||||
|
||||
it('should handle uppercase extensions', function(done){
|
||||
var app = express();
|
||||
|
||||
app.use(function(req, res){
|
||||
res.type('FILE.JSON').end('{"test": true}');
|
||||
});
|
||||
|
||||
request(app)
|
||||
.get('/')
|
||||
.expect('Content-Type', 'application/json; charset=utf-8')
|
||||
.end(done);
|
||||
})
|
||||
|
||||
it('should handle extension with special characters', function(done){
|
||||
var app = express();
|
||||
|
||||
app.use(function(req, res){
|
||||
res.type('file@test.json').end('{"test": true}');
|
||||
});
|
||||
|
||||
request(app)
|
||||
.get('/')
|
||||
.expect('Content-Type', 'application/json; charset=utf-8')
|
||||
.end(done);
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user