Open Journal Systems  3.3.0
StreamedResponseTest.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;
17 
18 class StreamedResponseTest extends TestCase
19 {
20  public function testConstructor()
21  {
22  $response = new StreamedResponse(function () { echo 'foo'; }, 404, array('Content-Type' => 'text/plain'));
23 
24  $this->assertEquals(404, $response->getStatusCode());
25  $this->assertEquals('text/plain', $response->headers->get('Content-Type'));
26  }
27 
28  public function testPrepareWith11Protocol()
29  {
30  $response = new StreamedResponse(function () { echo 'foo'; });
31  $request = Request::create('/');
32  $request->server->set('SERVER_PROTOCOL', 'HTTP/1.1');
33 
34  $response->prepare($request);
35 
36  $this->assertEquals('1.1', $response->getProtocolVersion());
37  $this->assertNotEquals('chunked', $response->headers->get('Transfer-Encoding'), 'Apache assumes responses with a Transfer-Encoding header set to chunked to already be encoded.');
38  }
39 
40  public function testPrepareWith10Protocol()
41  {
42  $response = new StreamedResponse(function () { echo 'foo'; });
43  $request = Request::create('/');
44  $request->server->set('SERVER_PROTOCOL', 'HTTP/1.0');
45 
46  $response->prepare($request);
47 
48  $this->assertEquals('1.0', $response->getProtocolVersion());
49  $this->assertNull($response->headers->get('Transfer-Encoding'));
50  }
51 
52  public function testPrepareWithHeadRequest()
53  {
54  $response = new StreamedResponse(function () { echo 'foo'; }, 200, array('Content-Length' => '123'));
55  $request = Request::create('/', 'HEAD');
56 
57  $response->prepare($request);
58 
59  $this->assertSame('123', $response->headers->get('Content-Length'));
60  }
61 
62  public function testPrepareWithCacheHeaders()
63  {
64  $response = new StreamedResponse(function () { echo 'foo'; }, 200, array('Cache-Control' => 'max-age=600, public'));
65  $request = Request::create('/', 'GET');
66 
67  $response->prepare($request);
68  $this->assertEquals('max-age=600, public', $response->headers->get('Cache-Control'));
69  }
70 
71  public function testSendContent()
72  {
73  $called = 0;
74 
75  $response = new StreamedResponse(function () use (&$called) { ++$called; });
76 
77  $response->sendContent();
78  $this->assertEquals(1, $called);
79 
80  $response->sendContent();
81  $this->assertEquals(1, $called);
82  }
83 
88  {
89  $response = new StreamedResponse(null);
90  $response->sendContent();
91  }
92 
96  public function testSetContent()
97  {
98  $response = new StreamedResponse(function () { echo 'foo'; });
99  $response->setContent('foo');
100  }
101 
102  public function testGetContent()
103  {
104  $response = new StreamedResponse(function () { echo 'foo'; });
105  $this->assertFalse($response->getContent());
106  }
107 
108  public function testCreate()
109  {
110  $response = StreamedResponse::create(function () {}, 204);
111 
112  $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response);
113  $this->assertEquals(204, $response->getStatusCode());
114  }
115 }
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testSetContent
testSetContent()
Definition: StreamedResponseTest.php:96
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testSendContentWithNonCallable
testSendContentWithNonCallable()
Definition: StreamedResponseTest.php:87
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testPrepareWith11Protocol
testPrepareWith11Protocol()
Definition: StreamedResponseTest.php:28
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testPrepareWith10Protocol
testPrepareWith10Protocol()
Definition: StreamedResponseTest.php:40
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testConstructor
testConstructor()
Definition: StreamedResponseTest.php:20
Symfony\Component\HttpFoundation\Request
Definition: lib/vendor/symfony/http-foundation/Request.php:31
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testPrepareWithHeadRequest
testPrepareWithHeadRequest()
Definition: StreamedResponseTest.php:52
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testGetContent
testGetContent()
Definition: StreamedResponseTest.php:102
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest
Definition: StreamedResponseTest.php:18
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testCreate
testCreate()
Definition: StreamedResponseTest.php:108
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testPrepareWithCacheHeaders
testPrepareWithCacheHeaders()
Definition: StreamedResponseTest.php:62
Symfony\Component\HttpFoundation\StreamedResponse
Definition: lib/vendor/symfony/http-foundation/StreamedResponse.php:27
Symfony\Component\HttpFoundation\StreamedResponse\create
static create($callback=null, $status=200, $headers=array())
Definition: lib/vendor/symfony/http-foundation/StreamedResponse.php:60
Symfony\Component\HttpFoundation\Tests
Definition: AcceptHeaderItemTest.php:12
Symfony\Component\HttpFoundation\Tests\StreamedResponseTest\testSendContent
testSendContent()
Definition: StreamedResponseTest.php:71
Symfony\Component\HttpFoundation\Request\create
static create($uri, $method='GET', $parameters=array(), $cookies=array(), $files=array(), $server=array(), $content=null)
Definition: lib/vendor/symfony/http-foundation/Request.php:408