@@ -146,9 +146,7 @@ function it_saves_cookie(RequestInterface $request, ResponseInterface $response,
146146
147147 $ response ->hasHeader ('Set-Cookie ' )->willReturn (true );
148148 $ 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 '
152150 ]);
153151
154152 $ request ->getUri ()->willReturn ($ uri );
@@ -159,4 +157,24 @@ function it_saves_cookie(RequestInterface $request, ResponseInterface $response,
159157 $ promise ->shouldHaveType ('Http\Promise\Promise ' );
160158 $ promise ->wait ()->shouldReturnAnInstanceOf ('Psr\Http\Message\ResponseInterface ' );
161159 }
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+ }
162180}
0 commit comments