Overview

Namespaces

  • Evenement
  • None
  • PHP
  • Psr
    • Http
      • Message
  • Ratchet
    • Http
    • RFC6455
      • Handshake
      • Messaging
    • Server
    • Session
      • Serialize
      • Storage
        • Proxy
    • Wamp
    • WebSocket
  • React
    • EventLoop
      • Tick
      • Timer
    • Socket
    • Stream
  • Symfony
    • Component
      • HttpFoundation
        • Session
          • Attribute
          • Flash
          • Storage
            • Handler
            • Proxy
      • Routing
        • Annotation
        • Exception
        • Generator
          • Dumper
        • Loader
          • DependencyInjection
        • Matcher
          • Dumper
        • Tests
          • Annotation
          • Fixtures
            • AnnotatedClasses
            • OtherAnnotatedClasses
          • Generator
            • Dumper
          • Loader
          • Matcher
            • Dumper

Classes

  • CompiledRouteTest
  • RequestContextTest
  • RouteCollectionBuilderTest
  • RouteCollectionTest
  • RouteCompilerTest
  • RouterTest
  • RouteTest
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: 
  3: /*
  4:  * This file is part of the Symfony package.
  5:  *
  6:  * (c) Fabien Potencier <[email protected]>
  7:  *
  8:  * For the full copyright and license information, please view the LICENSE
  9:  * file that was distributed with this source code.
 10:  */
 11: 
 12: namespace Symfony\Component\Routing\Tests;
 13: 
 14: use PHPUnit\Framework\TestCase;
 15: use Symfony\Component\HttpFoundation\Request;
 16: use Symfony\Component\Routing\RequestContext;
 17: 
 18: class RequestContextTest extends TestCase
 19: {
 20:     public function testConstruct()
 21:     {
 22:         $requestContext = new RequestContext(
 23:             'foo',
 24:             'post',
 25:             'foo.bar',
 26:             'HTTPS',
 27:             8080,
 28:             444,
 29:             '/baz',
 30:             'bar=foobar'
 31:         );
 32: 
 33:         $this->assertEquals('foo', $requestContext->getBaseUrl());
 34:         $this->assertEquals('POST', $requestContext->getMethod());
 35:         $this->assertEquals('foo.bar', $requestContext->getHost());
 36:         $this->assertEquals('https', $requestContext->getScheme());
 37:         $this->assertSame(8080, $requestContext->getHttpPort());
 38:         $this->assertSame(444, $requestContext->getHttpsPort());
 39:         $this->assertEquals('/baz', $requestContext->getPathInfo());
 40:         $this->assertEquals('bar=foobar', $requestContext->getQueryString());
 41:     }
 42: 
 43:     public function testFromRequest()
 44:     {
 45:         $request = Request::create('https://test.com:444/foo?bar=baz');
 46:         $requestContext = new RequestContext();
 47:         $requestContext->setHttpPort(123);
 48:         $requestContext->fromRequest($request);
 49: 
 50:         $this->assertEquals('', $requestContext->getBaseUrl());
 51:         $this->assertEquals('GET', $requestContext->getMethod());
 52:         $this->assertEquals('test.com', $requestContext->getHost());
 53:         $this->assertEquals('https', $requestContext->getScheme());
 54:         $this->assertEquals('/foo', $requestContext->getPathInfo());
 55:         $this->assertEquals('bar=baz', $requestContext->getQueryString());
 56:         $this->assertSame(123, $requestContext->getHttpPort());
 57:         $this->assertSame(444, $requestContext->getHttpsPort());
 58: 
 59:         $request = Request::create('http://test.com:8080/foo?bar=baz');
 60:         $requestContext = new RequestContext();
 61:         $requestContext->setHttpsPort(567);
 62:         $requestContext->fromRequest($request);
 63: 
 64:         $this->assertSame(8080, $requestContext->getHttpPort());
 65:         $this->assertSame(567, $requestContext->getHttpsPort());
 66:     }
 67: 
 68:     public function testGetParameters()
 69:     {
 70:         $requestContext = new RequestContext();
 71:         $this->assertEquals(array(), $requestContext->getParameters());
 72: 
 73:         $requestContext->setParameters(array('foo' => 'bar'));
 74:         $this->assertEquals(array('foo' => 'bar'), $requestContext->getParameters());
 75:     }
 76: 
 77:     public function testHasParameter()
 78:     {
 79:         $requestContext = new RequestContext();
 80:         $requestContext->setParameters(array('foo' => 'bar'));
 81: 
 82:         $this->assertTrue($requestContext->hasParameter('foo'));
 83:         $this->assertFalse($requestContext->hasParameter('baz'));
 84:     }
 85: 
 86:     public function testGetParameter()
 87:     {
 88:         $requestContext = new RequestContext();
 89:         $requestContext->setParameters(array('foo' => 'bar'));
 90: 
 91:         $this->assertEquals('bar', $requestContext->getParameter('foo'));
 92:         $this->assertNull($requestContext->getParameter('baz'));
 93:     }
 94: 
 95:     public function testSetParameter()
 96:     {
 97:         $requestContext = new RequestContext();
 98:         $requestContext->setParameter('foo', 'bar');
 99: 
100:         $this->assertEquals('bar', $requestContext->getParameter('foo'));
101:     }
102: 
103:     public function testMethod()
104:     {
105:         $requestContext = new RequestContext();
106:         $requestContext->setMethod('post');
107: 
108:         $this->assertSame('POST', $requestContext->getMethod());
109:     }
110: 
111:     public function testScheme()
112:     {
113:         $requestContext = new RequestContext();
114:         $requestContext->setScheme('HTTPS');
115: 
116:         $this->assertSame('https', $requestContext->getScheme());
117:     }
118: 
119:     public function testHost()
120:     {
121:         $requestContext = new RequestContext();
122:         $requestContext->setHost('eXampLe.com');
123: 
124:         $this->assertSame('example.com', $requestContext->getHost());
125:     }
126: 
127:     public function testQueryString()
128:     {
129:         $requestContext = new RequestContext();
130:         $requestContext->setQueryString(null);
131: 
132:         $this->assertSame('', $requestContext->getQueryString());
133:     }
134: 
135:     public function testPort()
136:     {
137:         $requestContext = new RequestContext();
138:         $requestContext->setHttpPort('123');
139:         $requestContext->setHttpsPort('456');
140: 
141:         $this->assertSame(123, $requestContext->getHttpPort());
142:         $this->assertSame(456, $requestContext->getHttpsPort());
143:     }
144: 
145:     public function testFluentInterface()
146:     {
147:         $requestContext = new RequestContext();
148: 
149:         $this->assertSame($requestContext, $requestContext->setBaseUrl('/app.php'));
150:         $this->assertSame($requestContext, $requestContext->setPathInfo('/index'));
151:         $this->assertSame($requestContext, $requestContext->setMethod('POST'));
152:         $this->assertSame($requestContext, $requestContext->setScheme('https'));
153:         $this->assertSame($requestContext, $requestContext->setHost('example.com'));
154:         $this->assertSame($requestContext, $requestContext->setQueryString('foo=bar'));
155:         $this->assertSame($requestContext, $requestContext->setHttpPort(80));
156:         $this->assertSame($requestContext, $requestContext->setHttpsPort(443));
157:         $this->assertSame($requestContext, $requestContext->setParameters(array()));
158:         $this->assertSame($requestContext, $requestContext->setParameter('foo', 'bar'));
159:     }
160: }
161: 
Ratchet API documentation generated by ApiGen 2.8.0