mirror of
https://github.com/expressjs/express.git
synced 2026-02-26 02:54:58 +00:00
test: include edge case tests for res.type() (#7037)
This commit is contained in:
@@ -42,5 +42,74 @@ describe('res', function(){
|
|||||||
.get('/')
|
.get('/')
|
||||||
.expect('Content-Type', 'application/vnd.amazon.ebook', done);
|
.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