@@ -12,3 +12,63 @@ assert.strictEqual(
1212  typeof  ClientRequest . prototype . _implicitHeader ,  'function' ) ; 
1313assert . strictEqual ( 
1414  typeof  ServerResponse . prototype . _implicitHeader ,  'function' ) ; 
15+ 
16+ // validateHeader 
17+ assert . throws ( ( )  =>  { 
18+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
19+   outgoingMessage . setHeader ( ) ; 
20+ } ,  / ^ T y p e E r r o r :   H e a d e r   n a m e   m u s t   b e   a   v a l i d   H T T P   T o k e n   \[ " u n d e f i n e d " \] $ / ) ; 
21+ 
22+ assert . throws ( ( )  =>  { 
23+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
24+   outgoingMessage . setHeader ( 'test' ) ; 
25+ } ,  / ^ E r r o r :   " v a l u e "   r e q u i r e d   i n   s e t H e a d e r \( " t e s t " ,   v a l u e \) $ / ) ; 
26+ 
27+ assert . throws ( ( )  =>  { 
28+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
29+   outgoingMessage . setHeader ( 404 ) ; 
30+ } ,  / ^ T y p e E r r o r :   H e a d e r   n a m e   m u s t   b e   a   v a l i d   H T T P   T o k e n   \[ " 4 0 4 " \] $ / ) ; 
31+ 
32+ assert . throws ( ( )  =>  { 
33+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
34+   outgoingMessage . setHeader . call ( { _header : 'test' } ,  'test' ,  'value' ) ; 
35+ } ,  / ^ E r r o r :   C a n ' t   s e t   h e a d e r s   a f t e r   t h e y   a r e   s e n t .$ / ) ; 
36+ 
37+ assert . throws ( ( )  =>  { 
38+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
39+   outgoingMessage . setHeader ( '200' ,  'あ' ) ; 
40+ } ,  / ^ T y p e E r r o r :   T h e   h e a d e r   c o n t e n t   c o n t a i n s   i n v a l i d   c h a r a c t e r s $ / ) ; 
41+ 
42+ // write 
43+ assert . throws ( ( )  =>  { 
44+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
45+   outgoingMessage . write ( ) ; 
46+ } ,  / ^ E r r o r :   _ i m p l i c i t H e a d e r \( \)   m e t h o d   i s   n o t   i m p l e m e n t e d $ / ) ; 
47+ 
48+ assert ( OutgoingMessage . prototype . write . call ( { _header : 'test' } ) ) ; 
49+ 
50+ assert . throws ( ( )  =>  { 
51+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
52+   outgoingMessage . write . call ( { _header : 'test' ,  _hasBody : 'test' } ) ; 
53+ } ,  / ^ T y p e E r r o r :   F i r s t   a r g u m e n t   m u s t   b e   a   s t r i n g   o r   B u f f e r $ / ) ; 
54+ 
55+ assert . throws ( ( )  =>  { 
56+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
57+   outgoingMessage . write . call ( { _header : 'test' ,  _hasBody : 'test' } ,  1 ) ; 
58+ } ,  / ^ T y p e E r r o r :   F i r s t   a r g u m e n t   m u s t   b e   a   s t r i n g   o r   B u f f e r $ / ) ; 
59+ 
60+ // addTrailers 
61+ assert . throws ( ( )  =>  { 
62+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
63+   outgoingMessage . addTrailers ( ) ; 
64+ } ,  / ^ T y p e E r r o r :   C a n n o t   c o n v e r t   u n d e f i n e d   o r   n u l l   t o   o b j e c t $ / ) ; 
65+ 
66+ assert . throws ( ( )  =>  { 
67+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
68+   outgoingMessage . addTrailers ( { 'あ' : 'value' } ) ; 
69+ } ,  / ^ T y p e E r r o r :   T r a i l e r   n a m e   m u s t   b e   a   v a l i d   H T T P   T o k e n   \[ " あ " \] $ / ) ; 
70+ 
71+ assert . throws ( ( )  =>  { 
72+   const  outgoingMessage  =  new  OutgoingMessage ( ) ; 
73+   outgoingMessage . addTrailers ( { 404 : 'あ' } ) ; 
74+ } ,  / ^ T y p e E r r o r :   T h e   t r a i l e r   c o n t e n t   c o n t a i n s   i n v a l i d   c h a r a c t e r s $ / ) ; 
0 commit comments