Skip to content

Commit db721a5

Browse files
authored
Merge pull request #8196 from kenjis/test-use-SiteURI
test: update tests to use SiteURI
2 parents a5ddb5e + 396dca9 commit db721a5

15 files changed

+110
-158
lines changed

tests/system/API/ResponseTraitTest.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use CodeIgniter\Format\FormatterInterface;
1616
use CodeIgniter\Format\JSONFormatter;
1717
use CodeIgniter\Format\XMLFormatter;
18-
use CodeIgniter\HTTP\URI;
18+
use CodeIgniter\HTTP\SiteURI;
1919
use CodeIgniter\HTTP\UserAgent;
2020
use CodeIgniter\Test\CIUnitTestCase;
2121
use CodeIgniter\Test\Mock\MockIncomingRequest;
@@ -42,7 +42,7 @@ protected function setUp(): void
4242
$this->formatter = new JSONFormatter();
4343
}
4444

45-
protected function makeController(array $userConfig = [], string $uri = 'http://example.com', array $userHeaders = [])
45+
protected function makeController(array $userConfig = [], string $routePath = '', array $userHeaders = [])
4646
{
4747
$config = new App();
4848

@@ -73,7 +73,7 @@ protected function makeController(array $userConfig = [], string $uri = 'http://
7373
Factories::injectMock('config', 'Cookie', $cookie);
7474

7575
if ($this->request === null) {
76-
$this->request = new MockIncomingRequest($config, new URI($uri), null, new UserAgent());
76+
$this->request = new MockIncomingRequest($config, new SiteURI($config, $routePath), null, new UserAgent());
7777
$this->response = new MockResponse($config);
7878
}
7979

@@ -115,7 +115,7 @@ public function resetFormatter(): void
115115
public function testNoFormatterJSON(): void
116116
{
117117
$this->formatter = null;
118-
$controller = $this->makeController([], 'http://codeigniter.com', ['Accept' => 'application/json']);
118+
$controller = $this->makeController([], '', ['Accept' => 'application/json']);
119119

120120
$this->invoke($controller, 'respondCreated', [['id' => 3], 'A Custom Reason']);
121121

@@ -133,7 +133,7 @@ public function testNoFormatterJSON(): void
133133
public function testNoFormatter(): void
134134
{
135135
$this->formatter = null;
136-
$controller = $this->makeController([], 'http://codeigniter.com', ['Accept' => 'application/json']);
136+
$controller = $this->makeController([], '', ['Accept' => 'application/json']);
137137

138138
$this->invoke($controller, 'respondCreated', ['A Custom Reason']);
139139

@@ -484,8 +484,9 @@ private function tryValidContentType($mimeType, $contentType): void
484484
$original = $_SERVER;
485485
$_SERVER['CONTENT_TYPE'] = $mimeType;
486486

487-
$this->makeController([], 'http://codeigniter.com', ['Accept' => $mimeType]);
487+
$this->makeController([], '', ['Accept' => $mimeType]);
488488
$this->assertSame($mimeType, $this->request->getHeaderLine('Accept'), 'Request header...');
489+
489490
$this->response->setContentType($contentType);
490491
$this->assertSame($contentType, $this->response->getHeaderLine('Content-Type'), 'Response header pre-response...');
491492

@@ -554,7 +555,7 @@ public function testFormatByRequestNegotiateIfFormatIsNotJsonOrXML(): void
554555
}
555556
Factories::injectMock('config', 'Cookie', $cookie);
556557

557-
$request = new MockIncomingRequest($config, new URI($config->baseURL), null, new UserAgent());
558+
$request = new MockIncomingRequest($config, new SiteURI($config), null, new UserAgent());
558559
$response = new MockResponse($config);
559560

560561
$controller = new class ($request, $response) {

tests/system/Cache/ResponseCacheTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use CodeIgniter\HTTP\IncomingRequest;
1616
use CodeIgniter\HTTP\Response;
1717
use CodeIgniter\HTTP\ResponseInterface;
18-
use CodeIgniter\HTTP\URI;
18+
use CodeIgniter\HTTP\SiteURI;
1919
use CodeIgniter\HTTP\UserAgent;
2020
use CodeIgniter\Test\CIUnitTestCase;
2121
use Config\App as AppConfig;
@@ -53,7 +53,7 @@ private function createIncomingRequest(
5353

5454
$appConfig ??= $this->appConfig;
5555

56-
$siteUri = new URI($appConfig->baseURL . $uri);
56+
$siteUri = new SiteURI($appConfig, $uri);
5757
if ($query !== []) {
5858
$_GET = $_REQUEST = $query;
5959
$siteUri->setQueryArray($query);

tests/system/CommonFunctionsTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use CodeIgniter\HTTP\IncomingRequest;
1919
use CodeIgniter\HTTP\RedirectResponse;
2020
use CodeIgniter\HTTP\Response;
21-
use CodeIgniter\HTTP\URI;
21+
use CodeIgniter\HTTP\SiteURI;
2222
use CodeIgniter\HTTP\UserAgent;
2323
use CodeIgniter\Router\RouteCollection;
2424
use CodeIgniter\Session\Handlers\FileHandler;
@@ -411,7 +411,7 @@ public function testOldInput(): void
411411
$this->routes = $this->createRouteCollection();
412412
Services::injectMock('routes', $this->routes);
413413

414-
$this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
414+
$this->request = new MockIncomingRequest($this->config, new SiteURI($this->config), null, new UserAgent());
415415
Services::injectMock('request', $this->request);
416416

417417
// setup & ask for a redirect...
@@ -446,7 +446,7 @@ public function testOldInputSerializeData(): void
446446
$this->routes = $this->createRouteCollection();
447447
Services::injectMock('routes', $this->routes);
448448

449-
$this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
449+
$this->request = new MockIncomingRequest($this->config, new SiteURI($this->config), null, new UserAgent());
450450
Services::injectMock('request', $this->request);
451451

452452
// setup & ask for a redirect...
@@ -481,7 +481,7 @@ public function testOldInputArray(): void
481481
$this->routes = $this->createRouteCollection();
482482
Services::injectMock('routes', $this->routes);
483483

484-
$this->request = new MockIncomingRequest($this->config, new URI('http://example.com'), null, new UserAgent());
484+
$this->request = new MockIncomingRequest($this->config, new SiteURI($this->config), null, new UserAgent());
485485
Services::injectMock('request', $this->request);
486486

487487
$locations = [

tests/system/ControllerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use CodeIgniter\HTTP\IncomingRequest;
1717
use CodeIgniter\HTTP\Request;
1818
use CodeIgniter\HTTP\Response;
19-
use CodeIgniter\HTTP\URI;
19+
use CodeIgniter\HTTP\SiteURI;
2020
use CodeIgniter\HTTP\UserAgent;
2121
use CodeIgniter\Test\CIUnitTestCase;
2222
use CodeIgniter\Validation\Exceptions\ValidationException;
@@ -58,7 +58,7 @@ protected function setUp(): void
5858
parent::setUp();
5959

6060
$this->config = new App();
61-
$this->request = new IncomingRequest($this->config, new URI('https://somwhere.com'), null, new UserAgent());
61+
$this->request = new IncomingRequest($this->config, new SiteURI($this->config), null, new UserAgent());
6262
$this->response = new Response($this->config);
6363
$this->logger = Services::logger();
6464
}

tests/system/Filters/InvalidCharsTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
use CodeIgniter\HTTP\CLIRequest;
1515
use CodeIgniter\HTTP\IncomingRequest;
16-
use CodeIgniter\HTTP\URI;
16+
use CodeIgniter\HTTP\SiteURI;
1717
use CodeIgniter\HTTP\UserAgent;
1818
use CodeIgniter\Security\Exceptions\SecurityException;
1919
use CodeIgniter\Test\CIUnitTestCase;
@@ -53,7 +53,7 @@ protected function tearDown(): void
5353
private function createRequest(): IncomingRequest
5454
{
5555
$config = new MockAppConfig();
56-
$uri = new URI();
56+
$uri = new SiteURI($config);
5757
$userAgent = new UserAgent();
5858
$request = $this->getMockBuilder(IncomingRequest::class)
5959
->setConstructorArgs([$config, $uri, null, $userAgent])

tests/system/HTTP/IncomingRequestDetectingTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ protected function setUp(): void
3232
$_POST = $_GET = $_SERVER = $_REQUEST = $_ENV = $_COOKIE = $_SESSION = [];
3333

3434
// The URI object is not used in detectPath().
35-
$origin = 'http://www.example.com/index.php/woot?code=good#pos';
36-
$this->request = new IncomingRequest(new App(), new URI($origin), null, new UserAgent());
35+
$this->request = new IncomingRequest(new App(), new SiteURI(new App(), 'woot?code=good#pos'), null, new UserAgent());
3736
}
3837

3938
public function testPathDefault(): void

tests/system/HTTP/IncomingRequestTest.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ public function testSetValidLocales()
223223
$config->defaultLocale = 'es';
224224
$config->baseURL = 'http://example.com/';
225225

226-
$request = new IncomingRequest($config, new URI(), null, new UserAgent());
226+
$request = new IncomingRequest($config, new SiteURI($config), null, new UserAgent());
227227

228228
$request->setValidLocales(['ja']);
229229
$request->setLocale('ja');
@@ -901,7 +901,7 @@ public function testExtensionPHP($path, $detectPath): void
901901

902902
$_SERVER['REQUEST_URI'] = $path;
903903
$_SERVER['SCRIPT_NAME'] = $path;
904-
$request = new IncomingRequest($config, new URI($path), null, new UserAgent());
904+
$request = new IncomingRequest($config, new SiteURI($config, $path), null, new UserAgent());
905905
$this->assertSame($detectPath, $request->detectPath());
906906
}
907907

@@ -914,7 +914,8 @@ public function testGetPath(): void
914914

915915
public function testSetPath(): void
916916
{
917-
$request = new IncomingRequest(new App(), new URI(), null, new UserAgent());
917+
$config = new App();
918+
$request = new IncomingRequest($config, new SiteURI($config), null, new UserAgent());
918919
$this->assertSame('', $request->getPath());
919920

920921
$request->setPath('foobar');

tests/system/Helpers/CookieHelperTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use CodeIgniter\Cookie\Exceptions\CookieException;
1616
use CodeIgniter\HTTP\IncomingRequest;
1717
use CodeIgniter\HTTP\Response;
18-
use CodeIgniter\HTTP\URI;
18+
use CodeIgniter\HTTP\SiteURI;
1919
use CodeIgniter\HTTP\UserAgent;
2020
use CodeIgniter\Test\CIUnitTestCase;
2121
use CodeIgniter\Test\Mock\MockResponse;
@@ -49,7 +49,7 @@ protected function setUp(): void
4949

5050
Services::injectMock('response', new MockResponse(new App()));
5151
$this->response = Services::response();
52-
$this->request = new IncomingRequest(new App(), new URI(), null, new UserAgent());
52+
$this->request = new IncomingRequest(new App(), new SiteURI(new App()), null, new UserAgent());
5353
Services::injectMock('request', $this->request);
5454

5555
helper('cookie');

tests/system/Pager/PagerTest.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use CodeIgniter\Config\Factories;
1515
use CodeIgniter\HTTP\IncomingRequest;
16+
use CodeIgniter\HTTP\SiteURI;
1617
use CodeIgniter\HTTP\URI;
1718
use CodeIgniter\HTTP\UserAgent;
1819
use CodeIgniter\Pager\Exceptions\PagerException;
@@ -53,7 +54,7 @@ private function createPager(string $requestUri): void
5354

5455
$request = new IncomingRequest(
5556
$config,
56-
new URI($config->baseURL . ltrim($requestUri, '/')),
57+
new SiteURI($config, ltrim($requestUri, '/')),
5758
'php://input',
5859
new UserAgent()
5960
);
@@ -70,7 +71,7 @@ public function testSetPathRemembersPath(): void
7071

7172
$details = $this->pager->getDetails();
7273

73-
$this->assertSame('foo/bar', $details['uri']->getPath());
74+
$this->assertSame('foo/bar', $details['uri']->getRoutePath());
7475
}
7576

7677
public function testGetDetailsRecognizesPageQueryVar(): void
@@ -474,7 +475,7 @@ public function testBasedURI(): void
474475

475476
$request = new IncomingRequest(
476477
$config,
477-
new URI(),
478+
new SiteURI($config, 'x/y'),
478479
'php://input',
479480
new UserAgent()
480481
);

tests/system/RESTful/ResourceControllerTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use CodeIgniter\Format\XMLFormatter;
1818
use CodeIgniter\HTTP\IncomingRequest;
1919
use CodeIgniter\HTTP\Response;
20-
use CodeIgniter\HTTP\URI;
20+
use CodeIgniter\HTTP\SiteURI;
2121
use CodeIgniter\HTTP\UserAgent;
2222
use CodeIgniter\Model;
2323
use CodeIgniter\Router\RouteCollection;
@@ -312,7 +312,7 @@ public function testJSONFormatOutput(): void
312312
$resource = new MockResourceController();
313313

314314
$config = new App();
315-
$uri = new URI();
315+
$uri = new SiteURI($config);
316316
$agent = new UserAgent();
317317

318318
$request = new IncomingRequest($config, $uri, '', $agent);
@@ -340,7 +340,7 @@ public function testXMLFormatOutput(): void
340340
$resource = new MockResourceController();
341341

342342
$config = new App();
343-
$uri = new URI();
343+
$uri = new SiteURI($config);
344344
$agent = new UserAgent();
345345

346346
$request = new IncomingRequest($config, $uri, '', $agent);

tests/system/Security/SecurityCSRFCookieRandomizeTokenTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use CodeIgniter\Config\Factories;
1515
use CodeIgniter\Cookie\Cookie;
1616
use CodeIgniter\HTTP\IncomingRequest;
17-
use CodeIgniter\HTTP\URI;
17+
use CodeIgniter\HTTP\SiteURI;
1818
use CodeIgniter\HTTP\UserAgent;
1919
use CodeIgniter\Test\CIUnitTestCase;
2020
use CodeIgniter\Test\Mock\MockAppConfig;
@@ -74,7 +74,8 @@ public function testCSRFVerifySetNewCookie(): void
7474
$_POST['foo'] = 'bar';
7575
$_POST['csrf_test_name'] = $this->randomizedToken;
7676

77-
$request = new IncomingRequest(new MockAppConfig(), new URI('http://badurl.com'), null, new UserAgent());
77+
$config = new MockAppConfig();
78+
$request = new IncomingRequest($config, new SiteURI($config), null, new UserAgent());
7879

7980
$security = new Security($this->config);
8081

0 commit comments

Comments
 (0)