diff options
Diffstat (limited to 'tests/lib/UrlGeneratorTest.php')
-rw-r--r-- | tests/lib/UrlGeneratorTest.php | 75 |
1 files changed, 35 insertions, 40 deletions
diff --git a/tests/lib/UrlGeneratorTest.php b/tests/lib/UrlGeneratorTest.php index 51653d74364..4320efc4190 100644 --- a/tests/lib/UrlGeneratorTest.php +++ b/tests/lib/UrlGeneratorTest.php @@ -1,14 +1,15 @@ <?php + /** - * Copyright (c) 2014 Bjoern Schiessle <schiessle@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace Test; use OC\Route\Router; +use OC\URLGenerator; use OCP\ICacheFactory; use OCP\IConfig; use OCP\IRequest; @@ -43,7 +44,7 @@ class UrlGeneratorTest extends \Test\TestCase { $this->cacheFactory = $this->createMock(ICacheFactory::class); $this->request = $this->createMock(IRequest::class); $this->router = $this->createMock(Router::class); - $this->urlGenerator = new \OC\URLGenerator( + $this->urlGenerator = new URLGenerator( $this->config, $this->userSession, $this->cacheFactory, @@ -70,9 +71,9 @@ class UrlGeneratorTest extends \Test\TestCase { /** * @small * test linkTo URL construction - * @dataProvider provideDocRootAppUrlParts */ - public function testLinkToDocRoot($app, $file, $args, $expectedResult) { + #[\PHPUnit\Framework\Attributes\DataProvider('provideDocRootAppUrlParts')] + public function testLinkToDocRoot($app, $file, $args, $expectedResult): void { \OC::$WEBROOT = ''; $result = $this->urlGenerator->linkTo($app, $file, $args); $this->assertEquals($expectedResult, $result); @@ -81,18 +82,16 @@ class UrlGeneratorTest extends \Test\TestCase { /** * @small * test linkTo URL construction in sub directory - * @dataProvider provideSubDirAppUrlParts */ - public function testLinkToSubDir($app, $file, $args, $expectedResult) { + #[\PHPUnit\Framework\Attributes\DataProvider('provideSubDirAppUrlParts')] + public function testLinkToSubDir($app, $file, $args, $expectedResult): void { \OC::$WEBROOT = '/nextcloud'; $result = $this->urlGenerator->linkTo($app, $file, $args); $this->assertEquals($expectedResult, $result); } - /** - * @dataProvider provideRoutes - */ - public function testLinkToRouteAbsolute($route, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('provideRoutes')] + public function testLinkToRouteAbsolute($route, $expected): void { $this->mockBaseUrl(); \OC::$WEBROOT = '/nextcloud'; $this->router->expects($this->once()) @@ -108,25 +107,25 @@ class UrlGeneratorTest extends \Test\TestCase { $this->assertEquals($expected, $result); } - public function provideRoutes() { + public static function provideRoutes(): array { return [ ['core.Preview.getPreview', 'http://localhost/nextcloud/index.php/core/preview.png'], ['cloud_federation_api.requesthandlercontroller.addShare', 'http://localhost/nextcloud/index.php/ocm/shares'], ]; } - public function provideDocRootAppUrlParts() { + public static function provideDocRootAppUrlParts(): array { return [ - ['files', 'ajax/download.php', [], '/index.php/apps/files/ajax/download.php'], - ['files', 'ajax/download.php', ['trut' => 'trat', 'dut' => 'dat'], '/index.php/apps/files/ajax/download.php?trut=trat&dut=dat'], + ['files_external', 'ajax/oauth2.php', [], '/index.php/apps/files_external/ajax/oauth2.php'], + ['files_external', 'ajax/oauth2.php', ['trut' => 'trat', 'dut' => 'dat'], '/index.php/apps/files_external/ajax/oauth2.php?trut=trat&dut=dat'], ['', 'index.php', ['trut' => 'trat', 'dut' => 'dat'], '/index.php?trut=trat&dut=dat'], ]; } - public function provideSubDirAppUrlParts() { + public static function provideSubDirAppUrlParts(): array { return [ - ['files', 'ajax/download.php', [], '/nextcloud/index.php/apps/files/ajax/download.php'], - ['files', 'ajax/download.php', ['trut' => 'trat', 'dut' => 'dat'], '/nextcloud/index.php/apps/files/ajax/download.php?trut=trat&dut=dat'], + ['files_external', 'ajax/oauth2.php', [], '/nextcloud/index.php/apps/files_external/ajax/oauth2.php'], + ['files_external', 'ajax/oauth2.php', ['trut' => 'trat', 'dut' => 'dat'], '/nextcloud/index.php/apps/files_external/ajax/oauth2.php?trut=trat&dut=dat'], ['', 'index.php', ['trut' => 'trat', 'dut' => 'dat'], '/nextcloud/index.php?trut=trat&dut=dat'], ]; } @@ -134,9 +133,9 @@ class UrlGeneratorTest extends \Test\TestCase { /** * @small * test absolute URL construction - * @dataProvider provideDocRootURLs */ - public function testGetAbsoluteURLDocRoot($url, $expectedResult) { + #[\PHPUnit\Framework\Attributes\DataProvider('provideDocRootURLs')] + public function testGetAbsoluteURLDocRoot($url, $expectedResult): void { $this->mockBaseUrl(); \OC::$WEBROOT = ''; $result = $this->urlGenerator->getAbsoluteURL($url); @@ -146,16 +145,16 @@ class UrlGeneratorTest extends \Test\TestCase { /** * @small * test absolute URL construction - * @dataProvider provideSubDirURLs */ - public function testGetAbsoluteURLSubDir($url, $expectedResult) { + #[\PHPUnit\Framework\Attributes\DataProvider('provideSubDirURLs')] + public function testGetAbsoluteURLSubDir($url, $expectedResult): void { $this->mockBaseUrl(); \OC::$WEBROOT = '/nextcloud'; $result = $this->urlGenerator->getAbsoluteURL($url); $this->assertEquals($expectedResult, $result); } - public function provideDocRootURLs() { + public static function provideDocRootURLs(): array { return [ ['index.php', 'http://localhost/index.php'], ['/index.php', 'http://localhost/index.php'], @@ -164,7 +163,7 @@ class UrlGeneratorTest extends \Test\TestCase { ]; } - public function provideSubDirURLs() { + public static function provideSubDirURLs(): array { return [ ['', 'http://localhost/nextcloud/'], ['/', 'http://localhost/nextcloud/'], @@ -175,7 +174,7 @@ class UrlGeneratorTest extends \Test\TestCase { ]; } - public function testGetBaseUrl() { + public function testGetBaseUrl(): void { $this->mockBaseUrl(); \OC::$WEBROOT = '/nextcloud'; $actual = $this->urlGenerator->getBaseUrl(); @@ -183,15 +182,13 @@ class UrlGeneratorTest extends \Test\TestCase { $this->assertEquals($expected, $actual); } - public function testGetWebroot() { + public function testGetWebroot(): void { \OC::$WEBROOT = '/nextcloud'; $actual = $this->urlGenerator->getWebroot(); $this->assertEquals(\OC::$WEBROOT, $actual); } - /** - * @dataProvider provideOCSRoutes - */ + #[\PHPUnit\Framework\Attributes\DataProvider('provideOCSRoutes')] public function testLinkToOCSRouteAbsolute(string $route, bool $ignoreFrontController, string $expected): void { $this->mockBaseUrl(); \OC::$WEBROOT = '/nextcloud'; @@ -214,7 +211,7 @@ class UrlGeneratorTest extends \Test\TestCase { $this->assertEquals($expected, $result); } - public function provideOCSRoutes(): array { + public static function provideOCSRoutes(): array { return [ ['core.OCS.getCapabilities', false, 'http://localhost/nextcloud/ocs/v2.php/cloud/capabilities'], ['core.OCS.getCapabilities', true, 'http://localhost/nextcloud/ocs/v2.php/cloud/capabilities'], @@ -235,14 +232,14 @@ class UrlGeneratorTest extends \Test\TestCase { ->willReturn($ignoreFrontControllerConfig); } - public function testLinkToDefaultPageUrlWithRedirectUrlWithoutFrontController() { + public function testLinkToDefaultPageUrlWithRedirectUrlWithoutFrontController(): void { $this->mockBaseUrl(); $_REQUEST['redirect_url'] = 'myRedirectUrl.com'; $this->assertSame('http://localhost' . \OC::$WEBROOT . '/myRedirectUrl.com', $this->urlGenerator->linkToDefaultPageUrl()); } - public function testLinkToDefaultPageUrlWithRedirectUrlRedirectBypassWithoutFrontController() { + public function testLinkToDefaultPageUrlWithRedirectUrlRedirectBypassWithoutFrontController(): void { $this->mockBaseUrl(); $this->mockLinkToDefaultPageUrl(); putenv('front_controller_active=false'); @@ -251,7 +248,7 @@ class UrlGeneratorTest extends \Test\TestCase { $this->assertSame('http://localhost' . \OC::$WEBROOT . '/index.php/apps/dashboard/', $this->urlGenerator->linkToDefaultPageUrl()); } - public function testLinkToDefaultPageUrlWithRedirectUrlRedirectBypassWithFrontController() { + public function testLinkToDefaultPageUrlWithRedirectUrlRedirectBypassWithFrontController(): void { $this->mockBaseUrl(); $this->mockLinkToDefaultPageUrl(); putenv('front_controller_active=true'); @@ -260,7 +257,7 @@ class UrlGeneratorTest extends \Test\TestCase { $this->assertSame('http://localhost' . \OC::$WEBROOT . '/apps/dashboard/', $this->urlGenerator->linkToDefaultPageUrl()); } - public function testLinkToDefaultPageUrlWithRedirectUrlWithIgnoreFrontController() { + public function testLinkToDefaultPageUrlWithRedirectUrlWithIgnoreFrontController(): void { $this->mockBaseUrl(); $this->mockLinkToDefaultPageUrl(true); putenv('front_controller_active=false'); @@ -269,16 +266,14 @@ class UrlGeneratorTest extends \Test\TestCase { $this->assertSame('http://localhost' . \OC::$WEBROOT . '/apps/dashboard/', $this->urlGenerator->linkToDefaultPageUrl()); } - public function imagePathProvider(): array { + public static function imagePathProvider(): array { return [ ['core', 'favicon-mask.svg', \OC::$WEBROOT . '/core/img/favicon-mask.svg'], ['files', 'folder.svg', \OC::$WEBROOT . '/apps/files/img/folder.svg'], ]; } - /** - * @dataProvider imagePathProvider - */ + #[\PHPUnit\Framework\Attributes\DataProvider('imagePathProvider')] public function testImagePath(string $appName, string $file, string $result): void { $this->assertSame($result, $this->urlGenerator->imagePath($appName, $file)); } |