1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
From 0d082d5714082d5c9e414e076507e883ccbf9f96 Mon Sep 17 00:00:00 2001
From: Michael Dowling <mtdowling@gmail.com>
Date: Sun, 8 May 2016 12:28:38 -0700
Subject: [PATCH] Fixing broken test. Closes #1470
---
src/Client.php | 8 ++++++++
tests/ClientTest.php | 9 +++++++++
tests/Handler/CurlFactoryTest.php | 10 ----------
3 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/src/Client.php b/src/Client.php
index 9f7b0cf..2c62438 100644
--- a/src/Client.php
+++ b/src/Client.php
@@ -363,6 +363,14 @@ private function applyOptions(RequestInterface $request, array &$options)
unset($options['json']);
}
+ // Ensure that sink is not an invalid value.
+ if (isset($options['sink'])) {
+ // TODO: Add more sink validation?
+ if (is_bool($options['sink'])) {
+ throw new \InvalidArgumentException('sink must not be a boolean');
+ }
+ }
+
$request = Psr7\modify_request($request, $modify);
if ($request->getBody() instanceof Psr7\MultipartStream) {
// Use a multipart/form-data POST if a Content-Type is not set.
diff --git a/tests/ClientTest.php b/tests/ClientTest.php
index afcad08..ac12f65 100644
--- a/tests/ClientTest.php
+++ b/tests/ClientTest.php
@@ -615,4 +615,13 @@ public function testSendSendsWithDomainAndHostHeaderInRequestTheHostShouldBePres
$this->assertEquals('foo.com', $mockHandler->getLastRequest()->getHeader('Host')[0]);
}
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testValidatesSink()
+ {
+ $mockHandler = new MockHandler([new Response(200)]);
+ $client = new Client(['handler' => $mockHandler]);
+ $client->get('http://test.com', ['sink' => true]);
+ }
}
diff --git a/tests/Handler/CurlFactoryTest.php b/tests/Handler/CurlFactoryTest.php
index a3baaba..eb59848 100644
--- a/tests/Handler/CurlFactoryTest.php
+++ b/tests/Handler/CurlFactoryTest.php
@@ -355,16 +355,6 @@ public function testProtocolVersion()
$this->assertEquals(CURL_HTTP_VERSION_1_0, $_SERVER['_curl'][CURLOPT_HTTP_VERSION]);
}
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testValidatesSink()
- {
- $handler = new Handler\CurlMultiHandler();
- $request = new Psr7\Request('GET', Server::$url);
- $handler($request, ['sink' => true]);
- }
-
public function testSavesToStream()
{
$stream = fopen('php://memory', 'r+');
|