You are here

class StreamedResponseTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/http-foundation/Tests/StreamedResponseTest.php \Symfony\Component\HttpFoundation\Tests\StreamedResponseTest

Hierarchy

  • class \Symfony\Component\HttpFoundation\Tests\StreamedResponseTest extends \Symfony\Component\HttpFoundation\Tests\PHPUnit_Framework_TestCase

Expanded class hierarchy of StreamedResponseTest

File

vendor/symfony/http-foundation/Tests/StreamedResponseTest.php, line 17

Namespace

Symfony\Component\HttpFoundation\Tests
View source
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.');
  }
  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'));
  }
  public function testPrepareWithHeadRequest() {
    $response = new StreamedResponse(function () {
      echo 'foo';
    });
    $request = Request::create('/', 'HEAD');
    $response
      ->prepare($request);
  }
  public function testPrepareWithCacheHeaders() {
    $response = new StreamedResponse(function () {
      echo 'foo';
    }, 200, array(
      'Cache-Control' => 'max-age=600, public',
    ));
    $request = Request::create('/', 'GET');
    $response
      ->prepare($request);
    $this
      ->assertEquals('max-age=600, public', $response->headers
      ->get('Cache-Control'));
  }
  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());
  }

}

Members