@@ -278,6 +278,64 @@ describe('onHeaders(res, listener)', function () {
278
278
. expect ( 201 , done )
279
279
} )
280
280
} )
281
+
282
+ describe ( 'writeHead(status, flat arr)' , function ( ) {
283
+ it ( 'should be available in listener' , function ( done ) {
284
+ var server = createServer ( listener , handler )
285
+
286
+ function handler ( req , res ) {
287
+ res . writeHead ( 201 , [ 'X-Outgoing' , 'test' ] )
288
+ }
289
+
290
+ function listener ( req , res ) {
291
+ this . setHeader ( 'X-Status' , this . statusCode )
292
+ this . setHeader ( 'X-Outgoing-Echo' , this . getHeader ( 'X-Outgoing' ) )
293
+ }
294
+
295
+ request ( server )
296
+ . get ( '/' )
297
+ . expect ( 'X-Status' , '201' )
298
+ . expect ( 'X-Outgoing-Echo' , 'test' )
299
+ . expect ( 201 , done )
300
+ } )
301
+ } )
302
+
303
+ describe ( 'writeHead(status, invalid flat arr)' , function ( ) {
304
+ it ( 'should throw on malformed array' , function ( done ) {
305
+ var server = createServer ( listener , handler )
306
+
307
+ function handler ( req , res ) {
308
+ assert . throws ( function ( ) {
309
+ res . writeHead ( 201 , [ 'foo' , 'bar' , 'baz' ] )
310
+ } ,
311
+ TypeError )
312
+ }
313
+
314
+ function listener ( req , res ) {
315
+ }
316
+
317
+ // gets a 200 here because we caught the error via assert.throws
318
+ request ( server )
319
+ . get ( '/' )
320
+ . expect ( 200 , done )
321
+ } )
322
+
323
+ it ( 'should return 500 on malformed array' , function ( done ) {
324
+ var server = createServer ( listener , handler )
325
+
326
+ function handler ( req , res ) {
327
+ res . writeHead ( 201 , [ 'foo' , 'bar' , 'baz' ] )
328
+ res . end ( 'no soup for you!' )
329
+ }
330
+
331
+ function listener ( req , res ) {
332
+ }
333
+
334
+ request ( server )
335
+ . get ( '/' )
336
+ . expect ( 500 , done )
337
+ } )
338
+ } )
281
339
} )
282
340
283
341
function createServer ( listener , handler ) {
0 commit comments