-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
errorHandler.test.js
61 lines (55 loc) · 2.02 KB
/
errorHandler.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* Module dependencies.
*/
var connect = require('connect'),
helpers = require('./helpers'),
assert = require('assert'),
http = require('http');
module.exports = {
'test defaults': function(){
var server = helpers.run(
function(req, res, next){
next(new Error('keyboard cat!'));
},
connect.errorHandler()
);
server.assertResponse('GET', '/', 500, 'Internal Server Error', 'Test error-handler defaults');
},
'test defaults with caught exception': function(){
var server = helpers.run(
function(req, res, next){
throw new Error('keyboard cat!');
},
connect.errorHandler()
);
server.assertResponse('GET', '/', 500, 'Internal Server Error', 'Test error-handler defaults');
},
'test showMessage': function(){
var server = helpers.run(
function(req, res, next){
next(new Error('keyboard cat!'));
},
connect.errorHandler({ showMessage: true })
);
server.assertResponse('GET', '/', 500, 'Error: keyboard cat!', 'Test error-handler showMessage');
},
'test showStack': function(){
var server = helpers.run(
function(req, res, next){
next(new Error('keyboard cat!'));
},
connect.errorHandler({ showStack: true })
);
var req = server.request('GET', '/');
req.buffer = true;
req.addListener('response', function(res){
res.addListener('end', function(){
assert.equal('text/plain', res.headers['content-type']);
assert.equal(500, res.statusCode, 'Test error-handler 500 status code');
assert.ok(res.body.indexOf('Error: keyboard cat!') !== -1, 'Test error-handler showStack message');
assert.ok(res.body.indexOf('lib/connect/index.js') !== -1, 'Test error-handler showStack stack trace');
})
})
req.end();
}
}