You are here

RequestContextTest.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/symfony/routing/Tests/RequestContextTest.php

File

vendor/symfony/routing/Tests/RequestContextTest.php
View source
<?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\Routing\Tests;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\RequestContext;
class RequestContextTest extends \PHPUnit_Framework_TestCase {
  public function testConstruct() {
    $requestContext = new RequestContext('foo', 'post', 'foo.bar', 'HTTPS', 8080, 444, '/baz', 'bar=foobar');
    $this
      ->assertEquals('foo', $requestContext
      ->getBaseUrl());
    $this
      ->assertEquals('POST', $requestContext
      ->getMethod());
    $this
      ->assertEquals('foo.bar', $requestContext
      ->getHost());
    $this
      ->assertEquals('https', $requestContext
      ->getScheme());
    $this
      ->assertSame(8080, $requestContext
      ->getHttpPort());
    $this
      ->assertSame(444, $requestContext
      ->getHttpsPort());
    $this
      ->assertEquals('/baz', $requestContext
      ->getPathInfo());
    $this
      ->assertEquals('bar=foobar', $requestContext
      ->getQueryString());
  }
  public function testFromRequest() {
    $request = Request::create('https://test.com:444/foo?bar=baz');
    $requestContext = new RequestContext();
    $requestContext
      ->setHttpPort(123);
    $requestContext
      ->fromRequest($request);
    $this
      ->assertEquals('', $requestContext
      ->getBaseUrl());
    $this
      ->assertEquals('GET', $requestContext
      ->getMethod());
    $this
      ->assertEquals('test.com', $requestContext
      ->getHost());
    $this
      ->assertEquals('https', $requestContext
      ->getScheme());
    $this
      ->assertEquals('/foo', $requestContext
      ->getPathInfo());
    $this
      ->assertEquals('bar=baz', $requestContext
      ->getQueryString());
    $this
      ->assertSame(123, $requestContext
      ->getHttpPort());
    $this
      ->assertSame(444, $requestContext
      ->getHttpsPort());
    $request = Request::create('http://test.com:8080/foo?bar=baz');
    $requestContext = new RequestContext();
    $requestContext
      ->setHttpsPort(567);
    $requestContext
      ->fromRequest($request);
    $this
      ->assertSame(8080, $requestContext
      ->getHttpPort());
    $this
      ->assertSame(567, $requestContext
      ->getHttpsPort());
  }
  public function testGetParameters() {
    $requestContext = new RequestContext();
    $this
      ->assertEquals(array(), $requestContext
      ->getParameters());
    $requestContext
      ->setParameters(array(
      'foo' => 'bar',
    ));
    $this
      ->assertEquals(array(
      'foo' => 'bar',
    ), $requestContext
      ->getParameters());
  }
  public function testHasParameter() {
    $requestContext = new RequestContext();
    $requestContext
      ->setParameters(array(
      'foo' => 'bar',
    ));
    $this
      ->assertTrue($requestContext
      ->hasParameter('foo'));
    $this
      ->assertFalse($requestContext
      ->hasParameter('baz'));
  }
  public function testGetParameter() {
    $requestContext = new RequestContext();
    $requestContext
      ->setParameters(array(
      'foo' => 'bar',
    ));
    $this
      ->assertEquals('bar', $requestContext
      ->getParameter('foo'));
    $this
      ->assertNull($requestContext
      ->getParameter('baz'));
  }
  public function testSetParameter() {
    $requestContext = new RequestContext();
    $requestContext
      ->setParameter('foo', 'bar');
    $this
      ->assertEquals('bar', $requestContext
      ->getParameter('foo'));
  }
  public function testMethod() {
    $requestContext = new RequestContext();
    $requestContext
      ->setMethod('post');
    $this
      ->assertSame('POST', $requestContext
      ->getMethod());
  }
  public function testScheme() {
    $requestContext = new RequestContext();
    $requestContext
      ->setScheme('HTTPS');
    $this
      ->assertSame('https', $requestContext
      ->getScheme());
  }
  public function testHost() {
    $requestContext = new RequestContext();
    $requestContext
      ->setHost('eXampLe.com');
    $this
      ->assertSame('example.com', $requestContext
      ->getHost());
  }
  public function testQueryString() {
    $requestContext = new RequestContext();
    $requestContext
      ->setQueryString(null);
    $this
      ->assertSame('', $requestContext
      ->getQueryString());
  }
  public function testPort() {
    $requestContext = new RequestContext();
    $requestContext
      ->setHttpPort('123');
    $requestContext
      ->setHttpsPort('456');
    $this
      ->assertSame(123, $requestContext
      ->getHttpPort());
    $this
      ->assertSame(456, $requestContext
      ->getHttpsPort());
  }
  public function testFluentInterface() {
    $requestContext = new RequestContext();
    $this
      ->assertSame($requestContext, $requestContext
      ->setBaseUrl('/app.php'));
    $this
      ->assertSame($requestContext, $requestContext
      ->setPathInfo('/index'));
    $this
      ->assertSame($requestContext, $requestContext
      ->setMethod('POST'));
    $this
      ->assertSame($requestContext, $requestContext
      ->setScheme('https'));
    $this
      ->assertSame($requestContext, $requestContext
      ->setHost('example.com'));
    $this
      ->assertSame($requestContext, $requestContext
      ->setQueryString('foo=bar'));
    $this
      ->assertSame($requestContext, $requestContext
      ->setHttpPort(80));
    $this
      ->assertSame($requestContext, $requestContext
      ->setHttpsPort(443));
    $this
      ->assertSame($requestContext, $requestContext
      ->setParameters(array()));
    $this
      ->assertSame($requestContext, $requestContext
      ->setParameter('foo', 'bar'));
  }

}

Classes

Namesort descending Description
RequestContextTest