@@ -25,8 +25,7 @@ class ClientTest extends TestCase
2525 */
2626 public function testExpectHeader ()
2727 {
28- $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()
29- ->setMethods (['__none__ ' ])->getMock ();
28+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
3029
3130 $ createHeaders = new \ReflectionMethod (Client::class, 'createHeaders ' );
3231 $ createHeaders ->setAccessible (true );
@@ -38,10 +37,29 @@ public function testExpectHeader()
3837 static ::assertContains ('Expect: ' , $ headers );
3938 }
4039
40+ /**
41+ * "Expect" header should be empty.
42+ *
43+ * @link https://github.com/php-http/curl-client/issues/18
44+ */
45+ public function testWithNullPostFields ()
46+ {
47+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
48+
49+ $ createHeaders = new \ReflectionMethod (Client::class, 'createHeaders ' );
50+ $ createHeaders ->setAccessible (true );
51+
52+ $ request = new Request ();
53+ $ request = $ request ->withHeader ('content-length ' , '0 ' );
54+
55+ $ headers = $ createHeaders ->invoke ($ client , $ request , [CURLOPT_POSTFIELDS => null ]);
56+
57+ static ::assertContains ('content-length: 0 ' , $ headers );
58+ }
59+
4160 public function testRewindStream ()
4261 {
43- $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()
44- ->setMethods (['__none__ ' ])->getMock ();
62+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
4563
4664 $ bodyOptions = new \ReflectionMethod (Client::class, 'addRequestBodyOptions ' );
4765 $ bodyOptions ->setAccessible (true );
@@ -56,8 +74,7 @@ public function testRewindStream()
5674
5775 public function testRewindLargeStream ()
5876 {
59- $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()
60- ->setMethods (['__none__ ' ])->getMock ();
77+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
6178
6279 $ bodyOptions = new \ReflectionMethod (Client::class, 'addRequestBodyOptions ' );
6380 $ bodyOptions ->setAccessible (true );
0 commit comments