express/test
Jon Church 723b5451bb
Throw on invalid status codes (#4212)
* check status code is integer, or string integer, in range

* fix tests, update jsdoc comment for res.status

* throw if number is string

* narrow valid range to between 1xx and 5xx

* disambiguate the error message

* update skipped tests, remove invalid string test

* remove invalid float test

* fixup! remove invalid float test

* fix invalid range tests error assertions

* remove unused deprecate function

* add test to assert on 200.00 coming through as 200

this is the behavior of node's underlying HTTP module

* revert back to throwing only on > 999 and < 100

* update implementation for > 999

* add test for 700 status code

* update history with change

* update jsdoc

* clarify jsdoc comment

* one more round of jsdoc

* update 501 test

* add invalid status code test for res.sendStatus

* add test describe block for valid range

* fixup! add test describe block for valid range

* reduce the describe nesting

* switch to testing status 100, to avoid 100-continue behavior

* fix 900 test

* stringify code in thrown RangeError message

* remove accidentally duplicated res.status method

* fix error range message

Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>

* update sendStatus invalid code test to use sendStatus

---------

Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
2024-07-30 14:49:13 -07:00
..
acceptance examples: fix path traversal in downloads example 2022-02-08 17:32:10 -05:00
fixtures tests: add express.static test suite 2019-05-02 17:49:29 -04:00
support tests: expand res.sendFile options tests 2022-03-01 00:22:09 -05:00
app.all.js tests: use strict mode 2022-02-09 01:07:08 -05:00
app.engine.js tests: use strict mode 2022-02-09 01:07:08 -05:00
app.head.js tests: use strict mode 2022-02-09 01:07:08 -05:00
app.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
app.listen.js call callback once on listen error 2024-05-17 13:47:56 -07:00
app.locals.js Use object with null prototype for various app properties 2024-04-29 09:43:25 -05:00
app.options.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
app.param.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
app.render.js tests: use strict mode 2022-02-09 01:07:08 -05:00
app.request.js tests: use strict mode 2022-02-09 01:07:08 -05:00
app.response.js tests: use strict mode 2022-02-09 01:07:08 -05:00
app.route.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
app.router.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
app.routes.error.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
app.use.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
config.js Ignore Object.prototype values in settings through app.set/app.get 2022-03-23 20:05:05 -04:00
exports.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
express.json.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
express.raw.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
express.static.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
express.text.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
express.urlencoded.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
middleware.basic.js tests: use strict mode 2022-02-09 01:07:08 -05:00
regression.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.accepts.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.acceptsCharsets.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.acceptsEncodings.js tests: fix req.acceptsEncodings tests 2022-02-20 23:43:02 -05:00
req.acceptsLanguages.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.baseUrl.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.fresh.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.get.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.host.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
req.hostname.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.ip.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.ips.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.is.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.path.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.protocol.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.query.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
req.range.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.route.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.secure.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.signedCookies.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.stale.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.subdomains.js tests: use strict mode 2022-02-09 01:07:08 -05:00
req.xhr.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.append.js tests: update res.append to verify separate header lines 2022-02-21 19:23:25 -05:00
res.attachment.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.clearCookie.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.cookie.js deps: cookie@0.6.0 2024-03-15 10:27:45 -05:00
res.download.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
res.format.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
res.get.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.json.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
res.jsonp.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
res.links.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.locals.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.location.js Improved fix for open redirect allow list bypass 2024-03-25 09:22:34 -05:00
res.redirect.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
res.render.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.send.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
res.sendFile.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
res.sendStatus.js Throw on invalid status codes (#4212) 2024-07-30 14:49:13 -07:00
res.set.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.status.js Throw on invalid status codes (#4212) 2024-07-30 14:49:13 -07:00
res.type.js tests: use strict mode 2022-02-09 01:07:08 -05:00
res.vary.js Merge tag '4.17.3' 2022-02-17 00:27:11 -05:00
Route.js lint: remove unused function arguments in Route tests 2023-05-15 21:53:48 -04:00
Router.js Merge tag '4.19.0' into 5.x 2024-03-20 21:14:00 -05:00
utils.js tests: remove usage of should 2022-02-21 19:54:52 -05:00