@@ -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