Open Monograph Press  3.3.0
RedirectResponseTest.php
1 <?php
2 
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
13 
14 use PHPUnit\Framework\TestCase;
16 
17 class RedirectResponseTest extends TestCase
18 {
19  public function testGenerateMetaRedirect()
20  {
21  $response = new RedirectResponse('foo.bar');
22 
23  $this->assertEquals(1, preg_match(
24  '#<meta http-equiv="refresh" content="\d+;url=foo\.bar" />#',
25  preg_replace(array('/\s+/', '/\'/'), array(' ', '"'), $response->getContent())
26  ));
27  }
28 
33  {
34  $response = new RedirectResponse(null);
35  }
36 
41  {
42  $response = new RedirectResponse('foo.bar', 404);
43  }
44 
45  public function testGenerateLocationHeader()
46  {
47  $response = new RedirectResponse('foo.bar');
48 
49  $this->assertTrue($response->headers->has('Location'));
50  $this->assertEquals('foo.bar', $response->headers->get('Location'));
51  }
52 
53  public function testGetTargetUrl()
54  {
55  $response = new RedirectResponse('foo.bar');
56 
57  $this->assertEquals('foo.bar', $response->getTargetUrl());
58  }
59 
60  public function testSetTargetUrl()
61  {
62  $response = new RedirectResponse('foo.bar');
63  $response->setTargetUrl('baz.beep');
64 
65  $this->assertEquals('baz.beep', $response->getTargetUrl());
66  }
67 
71  public function testSetTargetUrlNull()
72  {
73  $response = new RedirectResponse('foo.bar');
74  $response->setTargetUrl(null);
75  }
76 
77  public function testCreate()
78  {
79  $response = RedirectResponse::create('foo', 301);
80 
81  $this->assertInstanceOf('Symfony\Component\HttpFoundation\RedirectResponse', $response);
82  $this->assertEquals(301, $response->getStatusCode());
83  }
84 
85  public function testCacheHeaders()
86  {
87  $response = new RedirectResponse('foo.bar', 301);
88  $this->assertFalse($response->headers->hasCacheControlDirective('no-cache'));
89 
90  $response = new RedirectResponse('foo.bar', 301, array('cache-control' => 'max-age=86400'));
91  $this->assertFalse($response->headers->hasCacheControlDirective('no-cache'));
92  $this->assertTrue($response->headers->hasCacheControlDirective('max-age'));
93 
94  $response = new RedirectResponse('foo.bar', 302);
95  $this->assertTrue($response->headers->hasCacheControlDirective('no-cache'));
96  }
97 }
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testSetTargetUrl
testSetTargetUrl()
Definition: RedirectResponseTest.php:60
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testGetTargetUrl
testGetTargetUrl()
Definition: RedirectResponseTest.php:53
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testGenerateMetaRedirect
testGenerateMetaRedirect()
Definition: RedirectResponseTest.php:19
Symfony\Component\HttpFoundation\RedirectResponse
Definition: lib/vendor/symfony/http-foundation/RedirectResponse.php:19
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testCreate
testCreate()
Definition: RedirectResponseTest.php:77
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testRedirectResponseConstructorWrongStatusCode
testRedirectResponseConstructorWrongStatusCode()
Definition: RedirectResponseTest.php:40
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testCacheHeaders
testCacheHeaders()
Definition: RedirectResponseTest.php:85
Symfony\Component\HttpFoundation\Tests
Definition: AcceptHeaderItemTest.php:12
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest
Definition: RedirectResponseTest.php:17
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testRedirectResponseConstructorNullUrl
testRedirectResponseConstructorNullUrl()
Definition: RedirectResponseTest.php:32
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testSetTargetUrlNull
testSetTargetUrlNull()
Definition: RedirectResponseTest.php:71
Symfony\Component\HttpFoundation\Tests\RedirectResponseTest\testGenerateLocationHeader
testGenerateLocationHeader()
Definition: RedirectResponseTest.php:45
Symfony\Component\HttpFoundation\RedirectResponse\create
static create($url='', $status=302, $headers=array())
Definition: lib/vendor/symfony/http-foundation/RedirectResponse.php:53