diff options
Diffstat (limited to 'tests/lib/L10N')
-rw-r--r-- | tests/lib/L10N/FactoryTest.php | 93 | ||||
-rw-r--r-- | tests/lib/L10N/L10nTest.php | 38 | ||||
-rw-r--r-- | tests/lib/L10N/LanguageIteratorTest.php | 7 |
3 files changed, 61 insertions, 77 deletions
diff --git a/tests/lib/L10N/FactoryTest.php b/tests/lib/L10N/FactoryTest.php index c29c31bf650..8c15baba9f6 100644 --- a/tests/lib/L10N/FactoryTest.php +++ b/tests/lib/L10N/FactoryTest.php @@ -83,14 +83,14 @@ class FactoryTest extends TestCase { $this->serverRoot, $this->appManager, ]) - ->setMethods($methods) + ->onlyMethods($methods) ->getMock(); } return new Factory($this->config, $this->request, $this->userSession, $this->cacheFactory, $this->serverRoot, $this->appManager); } - public function dataFindAvailableLanguages(): array { + public static function dataFindAvailableLanguages(): array { return [ [null], ['files'], @@ -124,24 +124,17 @@ class FactoryTest extends TestCase { $this->invokePrivate($factory, 'requestLanguage', ['de']); $factory->expects($this->exactly(2)) ->method('languageExists') - ->withConsecutive( - ['MyApp', 'de'], - ['MyApp', 'jp'], - ) - ->willReturnOnConsecutiveCalls( - false, - true, - ); + ->willReturnMap([ + ['MyApp', 'de', false], + ['MyApp', 'jp', true], + ]); $this->config ->expects($this->exactly(1)) ->method('getSystemValue') - ->withConsecutive( - ['force_language', false], - )->willReturnOnConsecutiveCalls( - false, - ); - $user = $this->getMockBuilder(IUser::class) - ->getMock(); + ->willReturnMap([ + ['force_language', false, false], + ]); + $user = $this->createMock(IUser::class); $user->expects(self::once()) ->method('getUID') ->willReturn('MyUserUid'); @@ -175,8 +168,7 @@ class FactoryTest extends TestCase { ['force_language', false, false], ['default_language', false, 'es'] ]); - $user = $this->getMockBuilder(IUser::class) - ->getMock(); + $user = $this->createMock(IUser::class); $user->expects(self::once()) ->method('getUID') ->willReturn('MyUserUid'); @@ -210,8 +202,7 @@ class FactoryTest extends TestCase { ['force_language', false, false], ['default_language', false, 'es'] ]); - $user = $this->getMockBuilder(IUser::class) - ->getMock(); + $user = $this->createMock(IUser::class); $user->expects(self::once()) ->method('getUID') ->willReturn('MyUserUid'); @@ -248,8 +239,7 @@ class FactoryTest extends TestCase { ['force_language', false, false], ['default_language', false, 'es'] ]); - $user = $this->getMockBuilder(IUser::class) - ->getMock(); + $user = $this->createMock(IUser::class); $user->expects(self::once()) ->method('getUID') ->willReturn('MyUserUid'); @@ -288,10 +278,9 @@ class FactoryTest extends TestCase { } /** - * @dataProvider dataFindAvailableLanguages - * * @param string|null $app */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataFindAvailableLanguages')] public function testFindAvailableLanguages($app): void { $factory = $this->getFactory(['findL10nDir']); $factory->expects(self::once()) @@ -302,7 +291,7 @@ class FactoryTest extends TestCase { self::assertEqualsCanonicalizing(['cs', 'de', 'en', 'ru'], $factory->findAvailableLanguages($app)); } - public function dataLanguageExists(): array { + public static function dataLanguageExists(): array { return [ [null, 'en', [], true], [null, 'de', [], false], @@ -334,13 +323,13 @@ class FactoryTest extends TestCase { } /** - * @dataProvider dataLanguageExists * * @param string|null $app * @param string $lang * @param string[] $availableLanguages * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataLanguageExists')] public function testLanguageExists($app, $lang, array $availableLanguages, $expected): void { $factory = $this->getFactory(['findAvailableLanguages']); $factory->expects(($lang === 'en') ? self::never() : self::once()) @@ -351,7 +340,7 @@ class FactoryTest extends TestCase { self::assertSame($expected, $factory->languageExists($app, $lang)); } - public function dataSetLanguageFromRequest(): array { + public static function dataSetLanguageFromRequest(): array { return [ // Language is available [null, 'de', ['de'], 'de'], @@ -374,13 +363,13 @@ class FactoryTest extends TestCase { } /** - * @dataProvider dataSetLanguageFromRequest * * @param string|null $app * @param string $header * @param string[] $availableLanguages * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataSetLanguageFromRequest')] public function testGetLanguageFromRequest($app, $header, array $availableLanguages, $expected): void { $factory = $this->getFactory(['findAvailableLanguages', 'respectDefaultLanguage']); $factory->expects(self::once()) @@ -406,7 +395,7 @@ class FactoryTest extends TestCase { } } - public function dataGetL10nFilesForApp(): array { + public static function dataGetL10nFilesForApp(): array { return [ ['', 'de', [\OC::$SERVERROOT . '/core/l10n/de.json']], ['core', 'ru', [\OC::$SERVERROOT . '/core/l10n/ru.json']], @@ -419,11 +408,11 @@ class FactoryTest extends TestCase { } /** - * @dataProvider dataGetL10nFilesForApp * * @param string $app * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetL10nFilesForApp')] public function testGetL10nFilesForApp($app, $lang, $expected): void { $factory = $this->getFactory(); if (in_array($app, ['settings','files'])) { @@ -440,7 +429,7 @@ class FactoryTest extends TestCase { self::assertSame($expected, $this->invokePrivate($factory, 'getL10nFilesForApp', [$app, $lang])); } - public function dataFindL10NDir(): array { + public static function dataFindL10NDir(): array { return [ ['', \OC::$SERVERROOT . '/core/l10n/'], ['core', \OC::$SERVERROOT . '/core/l10n/'], @@ -452,11 +441,11 @@ class FactoryTest extends TestCase { } /** - * @dataProvider dataFindL10NDir * * @param string $app * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataFindL10NDir')] public function testFindL10NDir($app, $expected): void { $factory = $this->getFactory(); if (in_array($app, ['settings','files'])) { @@ -473,7 +462,7 @@ class FactoryTest extends TestCase { self::assertSame($expected, $this->invokePrivate($factory, 'findL10nDir', [$app])); } - public function dataFindLanguage(): array { + public static function dataFindLanguage(): array { return [ // Not logged in [false, [], 'en'], @@ -489,12 +478,12 @@ class FactoryTest extends TestCase { } /** - * @dataProvider dataFindLanguage * * @param bool $loggedIn * @param array $availableLang * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataFindLanguage')] public function testFindLanguage($loggedIn, $availableLang, $expected): void { $userLang = 'nl'; $browserLang = 'de'; @@ -511,8 +500,7 @@ class FactoryTest extends TestCase { }); if ($loggedIn) { - $user = $this->getMockBuilder(IUser::class) - ->getMock(); + $user = $this->createMock(IUser::class); $user->expects(self::any()) ->method('getUID') ->willReturn('MyUserUid'); @@ -670,7 +658,7 @@ class FactoryTest extends TestCase { self::assertSame('en', $lang); } - public function dataTestRespectDefaultLanguage(): array { + public static function dataTestRespectDefaultLanguage(): array { return [ ['de', 'de_DE', true, 'de_DE'], ['de', 'de', true, 'de'], @@ -682,13 +670,13 @@ class FactoryTest extends TestCase { /** * test if we respect default language if possible * - * @dataProvider dataTestRespectDefaultLanguage * * @param string $lang * @param string $defaultLanguage * @param bool $langExists * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestRespectDefaultLanguage')] public function testRespectDefaultLanguage($lang, $defaultLanguage, $langExists, $expected): void { $factory = $this->getFactory(['languageExists']); $factory->expects(self::any()) @@ -714,13 +702,13 @@ class FactoryTest extends TestCase { * - if available languages set is not reduced to an empty set if * the reduce config is an empty set * - * @dataProvider dataTestReduceToLanguages * * @param string $lang * @param array $availableLanguages * @param array $reducedLanguageSet * @param array $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestReduceToLanguages')] public function testReduceLanguagesByConfiguration(string $lang, array $availableLanguages, array $reducedLanguageSet, array $expected): void { $factory = $this->getFactory(['findAvailableLanguages', 'languageExists']); $factory->expects(self::any()) @@ -747,21 +735,20 @@ class FactoryTest extends TestCase { self::assertEqualsCanonicalizing($expected, $commonLanguagesCodes); } - public function languageIteratorRequestProvider():array { + public static function languageIteratorRequestProvider(): array { return [ - [ true, $this->createMock(IUser::class)], - [ false, $this->createMock(IUser::class)], - [ false, null] + [ true, true], + [ false, true], + [ false, false], ]; } - /** - * @dataProvider languageIteratorRequestProvider - */ - public function testGetLanguageIterator(bool $hasSession, ?IUser $iUserMock = null): void { + #[\PHPUnit\Framework\Attributes\DataProvider('languageIteratorRequestProvider')] + public function testGetLanguageIterator(bool $hasSession, bool $mockUser): void { $factory = $this->getFactory(); + $user = null; - if ($iUserMock === null) { + if (!$mockUser) { $matcher = $this->userSession->expects(self::once()) ->method('getUser'); @@ -770,9 +757,11 @@ class FactoryTest extends TestCase { } else { $this->expectException(\RuntimeException::class); } + } else { + $user = $this->createMock(IUser::class); } - $iterator = $factory->getLanguageIterator($iUserMock); + $iterator = $factory->getLanguageIterator($user); self::assertInstanceOf(ILanguageIterator::class, $iterator); } @@ -785,9 +774,7 @@ class FactoryTest extends TestCase { ]; } - /** - * @dataProvider dataGetLanguageDirection - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetLanguageDirection')] public function testGetLanguageDirection(string $language, string $expectedDirection) { $factory = $this->getFactory(); diff --git a/tests/lib/L10N/L10nTest.php b/tests/lib/L10N/L10nTest.php index 32b81cf06a7..842f1bc5eda 100644 --- a/tests/lib/L10N/L10nTest.php +++ b/tests/lib/L10N/L10nTest.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -16,6 +17,8 @@ use OCP\IConfig; use OCP\IRequest; use OCP\IUserSession; use OCP\L10N\IFactory; +use OCP\Server; +use OCP\Util; use Test\TestCase; /** @@ -28,9 +31,9 @@ class L10nTest extends TestCase { * @return Factory */ protected function getFactory() { - /** @var \OCP\IConfig $config */ + /** @var IConfig $config */ $config = $this->createMock(IConfig::class); - /** @var \OCP\IRequest $request */ + /** @var IRequest $request */ $request = $this->createMock(IRequest::class); /** @var IUserSession $userSession */ $userSession = $this->createMock(IUserSession::class); @@ -96,7 +99,7 @@ class L10nTest extends TestCase { $this->assertEquals('5 Dateien', (string)$l->n('%n file', '%n files', 5)); } - public function dataPlaceholders(): array { + public static function dataPlaceholders(): array { return [ ['Ordered placeholders one %s two %s', 'Placeholder one 1 two 2'], ['Reordered placeholders one %s two %s', 'Placeholder two 2 one 1'], @@ -105,11 +108,11 @@ class L10nTest extends TestCase { } /** - * @dataProvider dataPlaceholders * * @param $string * @param $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataPlaceholders')] public function testPlaceholders($string, $expected): void { $transFile = \OC::$SERVERROOT . '/tests/data/l10n/de.json'; $l = new L10N($this->getFactory(), 'test', 'de', 'de_AT', [$transFile]); @@ -117,7 +120,7 @@ class L10nTest extends TestCase { $this->assertEquals($expected, $l->t($string, ['1', '2'])); } - public function localizationData() { + public static function localizationData(): array { return [ // timestamp as string ["February 13, 2009, 11:31:30\xE2\x80\xAFPM UTC", 'en', 'en_US', 'datetime', '1234567890'], @@ -153,15 +156,13 @@ class L10nTest extends TestCase { ]; } - /** - * @dataProvider localizationData - */ + #[\PHPUnit\Framework\Attributes\DataProvider('localizationData')] public function testNumericStringLocalization($expectedDate, $lang, $locale, $type, $value): void { $l = new L10N($this->getFactory(), 'test', $lang, $locale, []); $this->assertSame($expectedDate, $l->l($type, $value)); } - public function firstDayData() { + public static function firstDayData(): array { return [ [1, 'de', 'de_DE'], [0, 'en', 'en_US'], @@ -169,17 +170,17 @@ class L10nTest extends TestCase { } /** - * @dataProvider firstDayData * @param $expected * @param $lang * @param $locale */ + #[\PHPUnit\Framework\Attributes\DataProvider('firstDayData')] public function testFirstWeekDay($expected, $lang, $locale): void { $l = new L10N($this->getFactory(), 'test', $lang, $locale, []); $this->assertSame($expected, $l->l('firstday', 'firstday')); } - public function jsDateData() { + public static function jsDateData(): array { return [ ['dd.MM.yy', 'de', 'de_DE'], ['M/d/yy', 'en', 'en_US'], @@ -187,11 +188,11 @@ class L10nTest extends TestCase { } /** - * @dataProvider jsDateData * @param $expected * @param $lang * @param $locale */ + #[\PHPUnit\Framework\Attributes\DataProvider('jsDateData')] public function testJSDate($expected, $lang, $locale): void { $l = new L10N($this->getFactory(), 'test', $lang, $locale, []); $this->assertSame($expected, $l->l('jsdate', 'jsdate')); @@ -203,31 +204,28 @@ class L10nTest extends TestCase { } public function testServiceGetLanguageCode(): void { - $l = \OCP\Util::getL10N('lib', 'de'); + $l = Util::getL10N('lib', 'de'); $this->assertEquals('de', $l->getLanguageCode()); } public function testWeekdayName(): void { - $l = \OCP\Util::getL10N('lib', 'de'); + $l = Util::getL10N('lib', 'de'); $this->assertEquals('Mo.', $l->l('weekdayName', new \DateTime('2017-11-6'), ['width' => 'abbreviated'])); } /** - * @dataProvider findLanguageFromLocaleData * @param $locale * @param $language */ + #[\PHPUnit\Framework\Attributes\DataProvider('findLanguageFromLocaleData')] public function testFindLanguageFromLocale($locale, $language): void { $this->assertEquals( $language, - \OC::$server->get(IFactory::class)->findLanguageFromLocale('lib', $locale) + Server::get(IFactory::class)->findLanguageFromLocale('lib', $locale) ); } - /** - * @return array - */ - public function findLanguageFromLocaleData(): array { + public static function findLanguageFromLocaleData(): array { return [ 'en_US' => ['en_US', 'en'], 'en_UK' => ['en_UK', 'en'], diff --git a/tests/lib/L10N/LanguageIteratorTest.php b/tests/lib/L10N/LanguageIteratorTest.php index 79998c36354..4d1c666cc42 100644 --- a/tests/lib/L10N/LanguageIteratorTest.php +++ b/tests/lib/L10N/LanguageIteratorTest.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -28,7 +29,7 @@ class LanguageIteratorTest extends TestCase { $this->iterator = new LanguageIterator($this->user, $this->config); } - public function languageSettingsProvider() { + public static function languageSettingsProvider(): array { return [ // all language settings set [ 'de_DE', 'es_CU', 'zh_TW', ['de_DE', 'de', 'es_CU', 'es', 'zh_TW', 'zh', 'en']], @@ -57,9 +58,7 @@ class LanguageIteratorTest extends TestCase { ]; } - /** - * @dataProvider languageSettingsProvider - */ + #[\PHPUnit\Framework\Attributes\DataProvider('languageSettingsProvider')] public function testIterator($forcedLang, $userLang, $sysLang, $expectedValues): void { $this->config->expects($this->any()) ->method('getSystemValue') |