AddQueuedCookiesToResponseTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Illuminate\Tests\Cookie\Middleware;
  3. use Illuminate\Cookie\CookieJar;
  4. use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Http\Response;
  7. use PHPUnit\Framework\TestCase;
  8. use Symfony\Component\HttpFoundation\ResponseHeaderBag;
  9. class AddQueuedCookiesToResponseTest extends TestCase
  10. {
  11. public function testHandle(): void
  12. {
  13. $cookieJar = new CookieJar;
  14. $cookieOne = $cookieJar->make('foo', 'bar', 0, '/path');
  15. $cookieTwo = $cookieJar->make('foo', 'rab', 0, '/');
  16. $cookieJar->queue($cookieOne);
  17. $cookieJar->queue($cookieTwo);
  18. $addQueueCookiesToResponseMiddleware = new AddQueuedCookiesToResponse($cookieJar);
  19. $next = function (Request $request) {
  20. return new Response;
  21. };
  22. $this->assertEquals(
  23. [
  24. '' => [
  25. '/path' => [
  26. 'foo' => $cookieOne,
  27. ],
  28. '/' => [
  29. 'foo' => $cookieTwo,
  30. ],
  31. ],
  32. ],
  33. $addQueueCookiesToResponseMiddleware->handle(new Request, $next)->headers->getCookies(ResponseHeaderBag::COOKIES_ARRAY)
  34. );
  35. }
  36. }