@@ -23,4 +23,38 @@ public function expectsContinueShouldBeTrueIfContinueExpected()
2323
2424 $ this ->assertTrue ($ request ->expectsContinue ());
2525 }
26+
27+ public function testEmptyHeader ()
28+ {
29+ $ request = new Request ('GET ' , '/ ' );
30+
31+ $ this ->assertEquals (array (), $ request ->getHeaders ());
32+ $ this ->assertFalse ($ request ->hasHeader ('Test ' ));
33+ $ this ->assertEquals (array (), $ request ->getHeader ('Test ' ));
34+ $ this ->assertEquals ('' , $ request ->getHeaderLine ('Test ' ));
35+ }
36+
37+ public function testHeaderIsCaseInsensitive ()
38+ {
39+ $ request = new Request ('GET ' , '/ ' , array (), '1.1 ' , array (
40+ 'TEST ' => 'Yes ' ,
41+ ));
42+
43+ $ this ->assertEquals (array ('TEST ' => 'Yes ' ), $ request ->getHeaders ());
44+ $ this ->assertTrue ($ request ->hasHeader ('Test ' ));
45+ $ this ->assertEquals (array ('Yes ' ), $ request ->getHeader ('Test ' ));
46+ $ this ->assertEquals ('Yes ' , $ request ->getHeaderLine ('Test ' ));
47+ }
48+
49+ public function testHeaderWithMultipleValues ()
50+ {
51+ $ request = new Request ('GET ' , '/ ' , array (), '1.1 ' , array (
52+ 'Test ' => array ('a ' , 'b ' ),
53+ ));
54+
55+ $ this ->assertEquals (array ('Test ' => array ('a ' , 'b ' )), $ request ->getHeaders ());
56+ $ this ->assertTrue ($ request ->hasHeader ('Test ' ));
57+ $ this ->assertEquals (array ('a ' , 'b ' ), $ request ->getHeader ('Test ' ));
58+ $ this ->assertEquals ('a, b ' , $ request ->getHeaderLine ('Test ' ));
59+ }
2660}
0 commit comments