@@ -31,6 +31,25 @@ describe('app', function(){
31
31
. expect ( 200 , 'hello, world!' , done ) ;
32
32
} )
33
33
34
+ it ( 'should invoke all request listeners' , function ( done ) {
35
+ var app = connect ( ) ;
36
+ var router = http . createServer ( ) ;
37
+
38
+ router . on ( 'request' , function ( req , res ) {
39
+ res . write ( 'hello, ' ) ;
40
+ } ) ;
41
+ router . on ( 'request' , function ( req , res ) {
42
+ res . end ( 'world!' ) ;
43
+ } ) ;
44
+ app . use ( router ) ;
45
+
46
+ var server = http . createServer ( app ) ;
47
+
48
+ request ( server )
49
+ . get ( '/' )
50
+ . expect ( 200 , 'hello, world!' , done ) ;
51
+ } )
52
+
34
53
it ( 'should be a callable function' , function ( done ) {
35
54
var app = connect ( ) ;
36
55
@@ -92,6 +111,25 @@ describe('app', function(){
92
111
. expect ( 200 , 'oh, boom!' , done ) ;
93
112
} )
94
113
114
+ it ( 'should invoke callback on request listener error' , function ( done ) {
115
+ var app = connect ( ) ;
116
+ var router = http . createServer ( ) ;
117
+
118
+ router . on ( 'request' , function ( req , res ) {
119
+ throw new Error ( 'boom!' ) ;
120
+ } ) ;
121
+ app . use ( router ) ;
122
+ app . use ( function ( err , req , res , next ) {
123
+ res . end ( 'oh, ' + err . message ) ;
124
+ } ) ;
125
+
126
+ var server = http . createServer ( app ) ;
127
+
128
+ request ( server )
129
+ . get ( '/' )
130
+ . expect ( 200 , 'oh, boom!' , done ) ;
131
+ } )
132
+
95
133
it ( 'should work as middleware' , function ( done ) {
96
134
// custom server handler array
97
135
var handlers = [ connect ( ) , function ( req , res , next ) {
@@ -214,6 +252,28 @@ describe('app', function(){
214
252
. expect ( 200 , done ) ;
215
253
} )
216
254
255
+ it ( 'should not fire after headers sent in request listener' , function ( done ) {
256
+ var app = connect ( ) ;
257
+ var router = http . createServer ( ) ;
258
+
259
+ router . on ( 'request' , function ( req , res ) {
260
+ res . end ( 'hello' ) ;
261
+ } ) ;
262
+ router . on ( 'request' , function ( req , res ) {
263
+ res . write ( 'world' ) ;
264
+ } ) ;
265
+ app . use ( router ) ;
266
+ app . use ( function ( req , res ) {
267
+ res . end ( 'body' ) ;
268
+ } ) ;
269
+
270
+ var server = http . createServer ( app ) ;
271
+
272
+ request ( app )
273
+ . get ( '/' )
274
+ . expect ( 200 , 'hello' , done ) ;
275
+ } )
276
+
217
277
it ( 'shoud have no body for HEAD' , function ( done ) {
218
278
var app = connect ( ) ;
219
279
0 commit comments