4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\HttpFoundation\Tests;
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\HttpFoundation\ApacheRequest;
17 class ApacheRequestTest extends TestCase
20 * @dataProvider provideServerVars
22 public function testUriMethods($server, $expectedRequestUri, $expectedBaseUrl, $expectedPathInfo)
24 $request = new ApacheRequest();
25 $request->server->replace($server);
27 $this->assertEquals($expectedRequestUri, $request->getRequestUri(), '->getRequestUri() is correct');
28 $this->assertEquals($expectedBaseUrl, $request->getBaseUrl(), '->getBaseUrl() is correct');
29 $this->assertEquals($expectedPathInfo, $request->getPathInfo(), '->getPathInfo() is correct');
32 public function provideServerVars()
37 'REQUEST_URI' => '/foo/app_dev.php/bar',
38 'SCRIPT_NAME' => '/foo/app_dev.php',
39 'PATH_INFO' => '/bar',
41 '/foo/app_dev.php/bar',
47 'REQUEST_URI' => '/foo/bar',
48 'SCRIPT_NAME' => '/foo/app_dev.php',
56 'REQUEST_URI' => '/app_dev.php/foo/bar',
57 'SCRIPT_NAME' => '/app_dev.php',
58 'PATH_INFO' => '/foo/bar',
60 '/app_dev.php/foo/bar',
66 'REQUEST_URI' => '/foo/bar',
67 'SCRIPT_NAME' => '/app_dev.php',
75 'REQUEST_URI' => '/app_dev.php',
76 'SCRIPT_NAME' => '/app_dev.php',
85 'SCRIPT_NAME' => '/app_dev.php',