* * 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 PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\RequestContext; class RequestContextTest extends 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')); } } __halt_compiler();----SIGNATURE:----uOJUt1UHaJ1NA972E5zw1xXrPPrILJkL5MWpnlALX82ap+b5ZU0ftdDrZ2su/q4D4i//CxwLVFoG7ZzRVFnXlwB917xZrQJ+pFBhVjb6k8foSE8ig5EOPW8t9Tj2sUgW3b2XeqlninmWPNhPTLEkrDnXCiIJx+uMnpiL0Wkv9zaDl9QbbOfDl2CEEKTlPr6eu0uoksiSiDq1oMYKOHAYp9m+iiJfmWb+6kxAsFnUKt3gkcoGMtz7gP8CicJqiMSc6Xm8/ALemUHPlZUicihEW7l5ZrqruTImSryLrUh8uFJUK62YTAuVzQ7igd80/zSiaeSm7qGhPnMRvjDuNpLWPMSNBo/LV7/dsG7kVf+SGmU0rq+HARIzPTzhvg3vnkma4lt2beb1chBT2oPtSBs8N04SO5o8rl/aHA7zXby6TAIja/ehDNiKzUjjr7i+ZMiGIM68P8w0ISHNnqp6IcN64uLlj6UW9ExIzX1wR7H0nmsdwqCV8U+/sXxGkacDaDAZfjAj4X2o76CcIAkksYNj0fx3XQ/JNzN+qYnjrZtSsVn6hk+R3WOcUMG8aS8DSlV2VaRX/g2V7qQg57oJKmVzTBQWCYNucUry1lTVX5l3LYtPpo+6CbeYYTjR6BEHRZR68QR/b4Gik6IWwTvFUJqArUmfuMDlniLobXqGibjlil8=----ATTACHMENT:----MTI3MjQ2NDU4NjA2MDc3NiA1MTMxNDI5MDkzNjU1ODEgNzk3Mzk5NDU2ODE5NDkw