@ -3,70 +3,79 @@ const common = require('../common');
const assert = require ( 'assert' ) ;
const http = require ( 'http' ) ;
const MAX_REQUESTS = 12 ;
const MAX_REQUESTS = 13 ;
let reqNum = 0 ;
const createErrorMessage = ( code ) => {
return new RegExp ( ` ^RangeError: Invalid status code: ${ code } $ ` ) ;
} ;
const server = http . Server ( common . mustCall ( function ( req , res ) {
switch ( reqNum ) {
case 0 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( - 1 ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( - 1 ) ) ;
break ;
case 1 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( Infinity ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 2 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( NaN ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 3 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( { } ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 4 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( 99 ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 99 ) ) ;
break ;
case 5 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( 1000 ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 1000 ) ) ;
break ;
case 6 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( '1000' ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 1000 ) ) ;
break ;
case 7 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( null ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 8 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( true ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 1 ) ) ;
break ;
case 9 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( [ ] ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 10 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( 'this is not valid' ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 11 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( '404 this is not valid either' ) ;
} ) , /invalid status code/i ) ;
} ) , createErrorMessage ( 0 ) ) ;
break ;
case 12 :
assert . throws ( common . mustCall ( ( ) => {
res . writeHead ( ) ;
} ) , createErrorMessage ( 0 ) ) ;
this . close ( ) ;
break ;
default :