Improve error message for null/undefined to res.status

closes #2795
closes #2797
closes #3111
This commit is contained in:
Joshua Caron 2015-11-12 13:33:06 -05:00 committed by Douglas Christopher Wilson
parent 6bcdfef6ad
commit 8da51108e7
3 changed files with 37 additions and 0 deletions

View File

@ -2,6 +2,7 @@ unreleased
==========
* Improve error message for non-strings to `res.sendFile`
* Improve error message for `null`/`undefined` to `res.status`
4.16.4 / 2018-10-10
===================

View File

@ -64,6 +64,10 @@ var charsetRegExp = /;\s*charset\s*=/;
*/
res.status = function status(code) {
if (code === undefined || code === null) {
throw new TypeError('code argument is required to res.status')
}
this.statusCode = code;
return this;
};

View File

@ -16,5 +16,37 @@ describe('res', function(){
.expect('Created')
.expect(201, done);
})
describe('when code is undefined', function () {
it('should throw a TypeError', function (done) {
var app = express()
app.use(function (req, res) {
res.status(undefined).send('OK')
})
request(app)
.get('/')
.expect(500)
.expect(/TypeError: code argument is required to res.status/)
.end(done)
})
})
describe('when code is null', function () {
it('should throw a TypeError', function (done) {
var app = express()
app.use(function (req, res) {
res.status(null).send('OK')
})
request(app)
.get('/')
.expect(500)
.expect(/TypeError: code argument is required to res.status/)
.end(done)
})
})
})
})