@@ -146,9 +146,7 @@ function it_saves_cookie(RequestInterface $request, ResponseInterface $response,
146
146
147
147
$ response ->hasHeader ('Set-Cookie ' )->willReturn (true );
148
148
$ response ->getHeader ('Set-Cookie ' )->willReturn ([
149
- sprintf (
150
- 'cookie=value; expires=Tuesday, 31-Mar-99 07:42:12 GMT; Max-Age=60; path=/; domain=test.com; secure; HttpOnly '
151
- )
149
+ 'cookie=value; expires=Tuesday, 31-Mar-99 07:42:12 GMT; Max-Age=60; path=/; domain=test.com; secure; HttpOnly '
152
150
]);
153
151
154
152
$ request ->getUri ()->willReturn ($ uri );
@@ -159,4 +157,24 @@ function it_saves_cookie(RequestInterface $request, ResponseInterface $response,
159
157
$ promise ->shouldHaveType ('Http\Promise\Promise ' );
160
158
$ promise ->wait ()->shouldReturnAnInstanceOf ('Psr\Http\Message\ResponseInterface ' );
161
159
}
160
+
161
+ function it_throws_exception_on_invalid_expires_date (RequestInterface $ request , ResponseInterface $ response , UriInterface $ uri )
162
+ {
163
+ $ next = function () use ($ response ) {
164
+ return new FulfilledPromise ($ response ->getWrappedObject ());
165
+ };
166
+
167
+ $ response ->hasHeader ('Set-Cookie ' )->willReturn (true );
168
+ $ response ->getHeader ('Set-Cookie ' )->willReturn ([
169
+ 'cookie=value; expires=i-am-an-invalid-date; '
170
+ ]);
171
+
172
+ $ request ->getUri ()->willReturn ($ uri );
173
+ $ uri ->getHost ()->willReturn ('test.com ' );
174
+ $ uri ->getPath ()->willReturn ('/ ' );
175
+
176
+ $ promise = $ this ->handleRequest ($ request , $ next , function () {});
177
+ $ promise ->shouldReturnAnInstanceOf ('Http\Promise\RejectedPromise ' );
178
+ $ promise ->shouldThrow ('Http\Client\Exception\TransferException ' )->duringWait ();
179
+ }
162
180
}
0 commit comments