Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f8965b6

Browse files
committed
minor #9916 [Routing] add unit tests for Symfony\Component\Routing\RequestContext class (FlorianLB)
This PR was merged into the 2.3 branch. Discussion ---------- [Routing] add unit tests for Symfony\Component\Routing\RequestContext class | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | none | License | MIT | Doc PR | none ATM, this class don't have its own unit tests. This PR fill this gap with a full coverage. Commits ------- c4aaa38 [Routing] add unit tests for Symfony\Component\Routing\RequestContext class
2 parents 323710a + c4aaa38 commit f8965b6

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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 Symfony\Component\HttpFoundation\Request;
15+
use Symfony\Component\Routing\RequestContext;
16+
17+
class RequestContextTest extends \PHPUnit_Framework_TestCase
18+
{
19+
public function testConstruct()
20+
{
21+
$requestContext = new RequestContext(
22+
'foo',
23+
'post',
24+
'foo.bar',
25+
'HTTPS',
26+
8080,
27+
444,
28+
'/baz',
29+
'bar=foobar'
30+
);
31+
32+
$this->assertEquals('foo', $requestContext->getBaseUrl());
33+
$this->assertEquals('POST', $requestContext->getMethod());
34+
$this->assertEquals('foo.bar', $requestContext->getHost());
35+
$this->assertEquals('https', $requestContext->getScheme());
36+
$this->assertSame(8080, $requestContext->getHttpPort());
37+
$this->assertSame(444, $requestContext->getHttpsPort());
38+
$this->assertEquals('/baz', $requestContext->getPathInfo());
39+
$this->assertEquals('bar=foobar', $requestContext->getQueryString());
40+
}
41+
42+
public function testFromRequest()
43+
{
44+
$request = Request::create('https://test.com:444/foo?bar=baz');
45+
$requestContext = new RequestContext();
46+
$requestContext->setHttpPort(123);
47+
$requestContext->fromRequest($request);
48+
49+
$this->assertEquals('', $requestContext->getBaseUrl());
50+
$this->assertEquals('GET', $requestContext->getMethod());
51+
$this->assertEquals('test.com', $requestContext->getHost());
52+
$this->assertEquals('https', $requestContext->getScheme());
53+
$this->assertEquals('/foo', $requestContext->getPathInfo());
54+
$this->assertEquals('bar=baz', $requestContext->getQueryString());
55+
$this->assertSame(123, $requestContext->getHttpPort());
56+
$this->assertSame(444, $requestContext->getHttpsPort());
57+
58+
$request = Request::create('http://test.com:8080/foo?bar=baz');
59+
$requestContext = new RequestContext();
60+
$requestContext->setHttpsPort(567);
61+
$requestContext->fromRequest($request);
62+
63+
$this->assertSame(8080, $requestContext->getHttpPort());
64+
$this->assertSame(567, $requestContext->getHttpsPort());
65+
}
66+
67+
public function testGetParameters()
68+
{
69+
$requestContext = new RequestContext();
70+
$this->assertEquals(array(), $requestContext->getParameters());
71+
72+
$requestContext->setParameters(array('foo' => 'bar'));
73+
$this->assertEquals(array('foo' => 'bar'), $requestContext->getParameters());
74+
}
75+
76+
public function testHasParameter()
77+
{
78+
$requestContext = new RequestContext();
79+
$requestContext->setParameters(array('foo' => 'bar'));
80+
81+
$this->assertTrue($requestContext->hasParameter('foo'));
82+
$this->assertFalse($requestContext->hasParameter('baz'));
83+
}
84+
85+
public function testGetParameter()
86+
{
87+
$requestContext = new RequestContext();
88+
$requestContext->setParameters(array('foo' => 'bar'));
89+
90+
$this->assertEquals('bar', $requestContext->getParameter('foo'));
91+
$this->assertNull($requestContext->getParameter('baz'));
92+
}
93+
94+
public function testSetParameter()
95+
{
96+
$requestContext = new RequestContext();
97+
$requestContext->setParameter('foo', 'bar');
98+
99+
$this->assertEquals('bar', $requestContext->getParameter('foo'));
100+
}
101+
}

0 commit comments

Comments
 (0)