PHP 8.2.30
Preview: StreamedResponseTest.php Size: 3.43 KB
/opt/alt/php53/usr/share/pear/test/HttpFoundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\HttpFoundation\Tests;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\StreamedResponse;

class StreamedResponseTest extends \PHPUnit_Framework_TestCase
{
    public function testConstructor()
    {
        $response = new StreamedResponse(function () { echo 'foo'; }, 404, array('Content-Type' => 'text/plain'));

        $this->assertEquals(404, $response->getStatusCode());
        $this->assertEquals('text/plain', $response->headers->get('Content-Type'));
    }

    public function testPrepareWith11Protocol()
    {
        $response = new StreamedResponse(function () { echo 'foo'; });
        $request = Request::create('/');
        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.1');

        $response->prepare($request);

        $this->assertEquals('1.1', $response->getProtocolVersion());
        $this->assertNotEquals('chunked', $response->headers->get('Transfer-Encoding'), 'Apache assumes responses with a Transfer-Encoding header set to chunked to already be encoded.');
        $this->assertEquals('no-cache, private', $response->headers->get('Cache-Control'));
    }

    public function testPrepareWith10Protocol()
    {
        $response = new StreamedResponse(function () { echo 'foo'; });
        $request = Request::create('/');
        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.0');

        $response->prepare($request);

        $this->assertEquals('1.0', $response->getProtocolVersion());
        $this->assertNull($response->headers->get('Transfer-Encoding'));
        $this->assertEquals('no-cache, private', $response->headers->get('Cache-Control'));
    }

    public function testPrepareWithHeadRequest()
    {
        $response = new StreamedResponse(function () { echo 'foo'; });
        $request = Request::create('/', 'HEAD');

        $response->prepare($request);
    }

    public function testSendContent()
    {
        $called = 0;

        $response = new StreamedResponse(function () use (&$called) { ++$called; });

        $response->sendContent();
        $this->assertEquals(1, $called);

        $response->sendContent();
        $this->assertEquals(1, $called);
    }

    /**
     * @expectedException \LogicException
     */
    public function testSendContentWithNonCallable()
    {
        $response = new StreamedResponse(null);
        $response->sendContent();
    }

    /**
     * @expectedException \LogicException
     */
    public function testSetCallbackNonCallable()
    {
        $response = new StreamedResponse(null);
        $response->setCallback(null);
    }

    /**
     * @expectedException \LogicException
     */
    public function testSetContent()
    {
        $response = new StreamedResponse(function () { echo 'foo'; });
        $response->setContent('foo');
    }

    public function testGetContent()
    {
        $response = new StreamedResponse(function () { echo 'foo'; });
        $this->assertFalse($response->getContent());
    }

    public function testCreate()
    {
        $response = StreamedResponse::create(function () {}, 204);

        $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response);
        $this->assertEquals(204, $response->getStatusCode());
    }
}

Directory Contents

Dirs: 2 × Files: 20

Name Size Perms Modified Actions
File DIR
- drwxr-xr-x 2024-03-03 22:55:08
Edit Download
Session DIR
- drwxr-xr-x 2024-03-03 22:55:08
Edit Download
3.48 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
3.39 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
2.68 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
7.17 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
4.60 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
2.51 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
4.07 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
7.79 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
2.73 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
6.26 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
8.81 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
2.22 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
3.92 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
2.01 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
68.94 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
11.22 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
28.70 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
3.32 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
3.76 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download
3.43 KB lrw-r--r-- 2019-12-18 11:20:41
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).