File tree 3 files changed +59
-5
lines changed 3 files changed +59
-5
lines changed Original file line number Diff line number Diff line change 2
2
3
3
## Unreleased
4
4
5
+ ### Fixed
6
+
7
+ - #36 : Failure evaluating code: is_resource($handle) (string assertions are deprecated in PHP 7.2)
5
8
6
9
## 1.7 - 2017-02-09
7
10
Original file line number Diff line number Diff line change @@ -67,17 +67,34 @@ class PromiseCore
67
67
/**
68
68
* Create shared core.
69
69
*
70
- * @param RequestInterface $request HTTP request
71
- * @param resource $handle cURL handle
72
- * @param ResponseBuilder $responseBuilder
70
+ * @param RequestInterface $request HTTP request.
71
+ * @param resource $handle cURL handle.
72
+ * @param ResponseBuilder $responseBuilder Response builder.
73
+ *
74
+ * @throws \InvalidArgumentException If $handle is not a cURL resource.
73
75
*/
74
76
public function __construct (
75
77
RequestInterface $ request ,
76
78
$ handle ,
77
79
ResponseBuilder $ responseBuilder
78
80
) {
79
- assert (is_resource ($ handle ));
80
- assert (get_resource_type ($ handle ) === "curl " );
81
+ if (!is_resource ($ handle )) {
82
+ throw new \InvalidArgumentException (
83
+ sprintf (
84
+ 'Parameter $handle expected to be a cURL resource, %s given ' ,
85
+ gettype ($ handle )
86
+ )
87
+ );
88
+ }
89
+
90
+ if (get_resource_type ($ handle ) !== 'curl ' ) {
91
+ throw new \InvalidArgumentException (
92
+ sprintf (
93
+ 'Parameter $handle expected to be a cURL resource, %s resource given ' ,
94
+ get_resource_type ($ handle )
95
+ )
96
+ );
97
+ }
81
98
82
99
$ this ->request = $ request ;
83
100
$ this ->handle = $ handle ;
Original file line number Diff line number Diff line change 16
16
*/
17
17
class PromiseCoreTest extends BaseUnitTestCase
18
18
{
19
+ /**
20
+ * Testing if handle is not a resource.
21
+ */
22
+ public function testHandleIsNotAResource ()
23
+ {
24
+ $ this ->setExpectedException (
25
+ \InvalidArgumentException::class,
26
+ 'Parameter $handle expected to be a cURL resource, NULL given '
27
+ );
28
+
29
+ new PromiseCore (
30
+ $ this ->createRequest ('GET ' , '/ ' ),
31
+ null ,
32
+ new ResponseBuilder ($ this ->createResponse ())
33
+ );
34
+ }
35
+
36
+ /**
37
+ * Testing if handle is not a cURL resource.
38
+ */
39
+ public function testHandleIsNotACurlResource ()
40
+ {
41
+ $ this ->setExpectedException (
42
+ \InvalidArgumentException::class,
43
+ 'Parameter $handle expected to be a cURL resource, stream resource given '
44
+ );
45
+
46
+ new PromiseCore (
47
+ $ this ->createRequest ('GET ' , '/ ' ),
48
+ fopen ('php://memory ' , 'r+b ' ),
49
+ new ResponseBuilder ($ this ->createResponse ())
50
+ );
51
+ }
52
+
19
53
/**
20
54
* Test on fulfill actions.
21
55
*/
You can’t perform that action at this time.
0 commit comments