@@ -25,8 +25,7 @@ class ClientTest extends TestCase
25
25
*/
26
26
public function testExpectHeader ()
27
27
{
28
- $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()
29
- ->setMethods (['__none__ ' ])->getMock ();
28
+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
30
29
31
30
$ createHeaders = new \ReflectionMethod (Client::class, 'createHeaders ' );
32
31
$ createHeaders ->setAccessible (true );
@@ -38,10 +37,29 @@ public function testExpectHeader()
38
37
static ::assertContains ('Expect: ' , $ headers );
39
38
}
40
39
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
+
41
60
public function testRewindStream ()
42
61
{
43
- $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()
44
- ->setMethods (['__none__ ' ])->getMock ();
62
+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
45
63
46
64
$ bodyOptions = new \ReflectionMethod (Client::class, 'addRequestBodyOptions ' );
47
65
$ bodyOptions ->setAccessible (true );
@@ -56,8 +74,7 @@ public function testRewindStream()
56
74
57
75
public function testRewindLargeStream ()
58
76
{
59
- $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()
60
- ->setMethods (['__none__ ' ])->getMock ();
77
+ $ client = $ this ->getMockBuilder (Client::class)->disableOriginalConstructor ()->getMock ();
61
78
62
79
$ bodyOptions = new \ReflectionMethod (Client::class, 'addRequestBodyOptions ' );
63
80
$ bodyOptions ->setAccessible (true );
0 commit comments