aboutsummaryrefslogtreecommitdiff
path: root/tests/cli
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2023-04-17 08:30:21 +0200
committerGravatar GitHub <noreply@github.com> 2023-04-17 08:30:21 +0200
commitf3760f138dcbaf7a2190336a0378cf1b2190c9f5 (patch)
tree6fac8fbf9efd7aa74a8e3970ab70ccf85287b2cd /tests/cli
parent41fa4e746df8c2e2399ed753b4994ca85cb21358 (diff)
Complete PHPStan Level 6 (#5305)
* Complete PHPStan Level 6 Fix https://github.com/FreshRSS/FreshRSS/issues/4112 And initiate PHPStan Level 7 * PHPStan Level 6 for tests * Use phpstan/phpstan-phpunit * Update to PHPStan version 1.10 * Fix mixed bug * Fix mixed return bug * Fix paginator bug * Fix FreshRSS_UserConfiguration * A couple more Minz_Configuration bug fixes * A few trivial PHPStan Level 7 fixes * A few more simple PHPStan Level 7 * More files passing PHPStan Level 7 Add interface to replace removed class from https://github.com/FreshRSS/FreshRSS/pull/5251 * A few more PHPStan Level 7 preparations * A few last details
Diffstat (limited to 'tests/cli')
-rw-r--r--tests/cli/i18n/I18nCompletionValidatorTest.php13
-rw-r--r--tests/cli/i18n/I18nDataTest.php68
-rw-r--r--tests/cli/i18n/I18nFileTest.php5
-rw-r--r--tests/cli/i18n/I18nUsageValidatorTest.php15
-rw-r--r--tests/cli/i18n/I18nValueTest.php18
5 files changed, 62 insertions, 57 deletions
diff --git a/tests/cli/i18n/I18nCompletionValidatorTest.php b/tests/cli/i18n/I18nCompletionValidatorTest.php
index 1aa871f20..1a361823d 100644
--- a/tests/cli/i18n/I18nCompletionValidatorTest.php
+++ b/tests/cli/i18n/I18nCompletionValidatorTest.php
@@ -4,6 +4,7 @@ require_once __DIR__ . '/../../../cli/i18n/I18nCompletionValidator.php';
require_once __DIR__ . '/../../../cli/i18n/I18nValue.php';
class I18nCompletionValidatorTest extends PHPUnit\Framework\TestCase {
+ /** @var I18nValue&PHPUnit\Framework\MockObject\MockObject */
private $value;
public function setUp(): void {
@@ -12,7 +13,7 @@ class I18nCompletionValidatorTest extends PHPUnit\Framework\TestCase {
->getMock();
}
- public function testDisplayReport() {
+ public function testDisplayReport(): void {
$validator = new I18nCompletionValidator([], []);
$this->assertEquals("There is no data.\n", $validator->displayReport());
@@ -40,13 +41,13 @@ class I18nCompletionValidatorTest extends PHPUnit\Framework\TestCase {
$validator->displayReport();
}
- public function testValidateWhenNoData() {
+ public function testValidateWhenNoData(): void {
$validator = new I18nCompletionValidator([], []);
$this->assertTrue($validator->validate());
$this->assertEquals('', $validator->displayResult());
}
- public function testValidateWhenKeyIsMissing() {
+ public function testValidateWhenKeyIsMissing(): void {
$validator = new I18nCompletionValidator([
'file1.php' => [
'file1.l1.l2.k1' => $this->value,
@@ -60,7 +61,7 @@ class I18nCompletionValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals("Missing key file1.l1.l2.k1\nMissing key file2.l1.l2.k1\n", $validator->displayResult());
}
- public function testValidateWhenKeyIsIgnored() {
+ public function testValidateWhenKeyIsIgnored(): void {
$this->value->expects($this->exactly(2))
->method('isIgnore')
->willReturn(true);
@@ -85,7 +86,7 @@ class I18nCompletionValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('', $validator->displayResult());
}
- public function testValidateWhenValueIsEqual() {
+ public function testValidateWhenValueIsEqual(): void {
$this->value->expects($this->exactly(2))
->method('isIgnore')
->willReturn(false);
@@ -113,7 +114,7 @@ class I18nCompletionValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals("Untranslated key file1.l1.l2.k1 - \nUntranslated key file2.l1.l2.k1 - \n", $validator->displayResult());
}
- public function testValidateWhenValueIsDifferent() {
+ public function testValidateWhenValueIsDifferent(): void {
$this->value->expects($this->exactly(2))
->method('isIgnore')
->willReturn(false);
diff --git a/tests/cli/i18n/I18nDataTest.php b/tests/cli/i18n/I18nDataTest.php
index b27ad830c..37811c193 100644
--- a/tests/cli/i18n/I18nDataTest.php
+++ b/tests/cli/i18n/I18nDataTest.php
@@ -4,7 +4,9 @@ require_once __DIR__ . '/../../../cli/i18n/I18nData.php';
require_once __DIR__ . '/../../../cli/i18n/I18nValue.php';
class I18nDataTest extends PHPUnit\Framework\TestCase {
+ /** @var array<string,array<string,array<string,I18nValue>>> */
private $referenceData;
+ /** @var I18nValue&PHPUnit\Framework\MockObject\MockObject */
private $value;
public function setUp(): void {
@@ -31,12 +33,12 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
];
}
- public function testConstructWhenReferenceOnly() {
+ public function testConstructWhenReferenceOnly(): void {
$data = new I18nData($this->referenceData);
$this->assertEquals($this->referenceData, $data->getData());
}
- public function testConstructorWhenLanguageIsMissingFile() {
+ public function testConstructorWhenLanguageIsMissingFile(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [
'file1.php' => [
@@ -79,7 +81,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testConstructorWhenLanguageIsMissingKeys() {
+ public function testConstructorWhenLanguageIsMissingKeys(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [
'file1.php' => [
@@ -125,7 +127,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testConstructorWhenLanguageHasExtraKeys() {
+ public function testConstructorWhenLanguageHasExtraKeys(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [
'file1.php' => [
@@ -179,7 +181,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testConstructorWhenValueIsIdenticalAndIsMarkedAsIgnore() {
+ public function testConstructorWhenValueIsIdenticalAndIsMarkedAsIgnore(): void {
$value = $this->getMockBuilder(I18nValue::class)
->disableOriginalConstructor()
->getMock();
@@ -204,7 +206,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
new I18nData($rawData);
}
- public function testConstructorWhenValueIsIdenticalAndIsNotMarkedAsIgnore() {
+ public function testConstructorWhenValueIsIdenticalAndIsNotMarkedAsIgnore(): void {
$value = $this->getMockBuilder(I18nValue::class)
->disableOriginalConstructor()
->getMock();
@@ -229,7 +231,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
new I18nData($rawData);
}
- public function testConstructorWhenValueIsDifferentAndIsMarkedAsToDo() {
+ public function testConstructorWhenValueIsDifferentAndIsMarkedAsToDo(): void {
$value = $this->getMockBuilder(I18nValue::class)
->disableOriginalConstructor()
->getMock();
@@ -249,7 +251,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
new I18nData($rawData);
}
- public function testConstructorWhenValueIsDifferentAndIsNotMarkedAsTodo() {
+ public function testConstructorWhenValueIsDifferentAndIsNotMarkedAsTodo(): void {
$value = $this->getMockBuilder(I18nValue::class)
->disableOriginalConstructor()
->getMock();
@@ -269,7 +271,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
new I18nData($rawData);
}
- public function testGetAvailableLanguagesWhenTheyAreSorted() {
+ public function testGetAvailableLanguagesWhenTheyAreSorted(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
'nl' => [],
@@ -282,7 +284,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getAvailableLanguages());
}
- public function testGetAvailableLanguagesWhenTheyAreNotSorted() {
+ public function testGetAvailableLanguagesWhenTheyAreNotSorted(): void {
$rawData = array_merge($this->referenceData, [
'nl' => [],
'fr' => [],
@@ -297,14 +299,14 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getAvailableLanguages());
}
- public function testAddLanguageWhenLanguageExists() {
+ public function testAddLanguageWhenLanguageExists(): void {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('The selected language already exist.');
$data = new I18nData($this->referenceData);
$data->addLanguage('en');
}
- public function testAddLanguageWhenNoReferenceProvided() {
+ public function testAddLanguageWhenNoReferenceProvided(): void {
$data = new I18nData($this->referenceData);
$data->addLanguage('fr');
$this->assertEquals([
@@ -341,7 +343,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testAddLanguageWhenUnknownReferenceProvided() {
+ public function testAddLanguageWhenUnknownReferenceProvided(): void {
$data = new I18nData($this->referenceData);
$data->addLanguage('fr', 'unknown');
$this->assertEquals([
@@ -378,7 +380,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testAddLanguageWhenKnownReferenceProvided() {
+ public function testAddLanguageWhenKnownReferenceProvided(): void {
$data = new I18nData($this->referenceData);
$data->addLanguage('fr', 'en');
$this->assertEquals([
@@ -415,24 +417,24 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testIsKnownWhenKeyExists() {
+ public function testIsKnownWhenKeyExists(): void {
$data = new I18nData($this->referenceData);
$this->assertTrue($data->isKnown('file2.l1.l2.k2'));
}
- public function testIsKnownWhenKeyDoesNotExist() {
+ public function testIsKnownWhenKeyDoesNotExist(): void {
$data = new I18nData($this->referenceData);
$this->assertFalse($data->isKnown('file2.l1.l2.k3'));
}
- public function testAddKeyWhenKeyExists() {
+ public function testAddKeyWhenKeyExists(): void {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('The selected key already exist.');
$data = new I18nData($this->referenceData);
$data->addKey('file2.l1.l2.k1', 'value');
}
- public function testAddKeyWhenParentKeyExists() {
+ public function testAddKeyWhenParentKeyExists(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
]);
@@ -447,7 +449,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertTrue($data->isKnown('file2.l1.l2.k1.sk1'));
}
- public function testAddKeyWhenKeyIsParent() {
+ public function testAddKeyWhenKeyIsParent(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
]);
@@ -462,7 +464,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertTrue($data->isKnown('file1.l1.l2.k2'));
}
- public function testAddKey() {
+ public function testAddKey(): void {
$getTargetedValue = static function (I18nData $data, string $language) {
return $data->getData()[$language]['file2.php']['file2.l1.l2.k3'];
};
@@ -484,21 +486,21 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertEquals($frValue, $enValue);
}
- public function testAddValueWhenLanguageDoesNotExist() {
+ public function testAddValueWhenLanguageDoesNotExist(): void {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('The selected language does not exist.');
$data = new I18nData($this->referenceData);
$data->addValue('file2.l1.l2.k2', 'new value', 'fr');
}
- public function testAddValueWhenKeyDoesNotExist() {
+ public function testAddValueWhenKeyDoesNotExist(): void {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('The selected key does not exist for the selected language.');
$data = new I18nData($this->referenceData);
$data->addValue('unknown key', 'new value', 'en');
}
- public function testAddValueWhenLanguageIsReferenceAndValueInOtherLanguageHasNotChange() {
+ public function testAddValueWhenLanguageIsReferenceAndValueInOtherLanguageHasNotChange(): void {
$getTargetedValue = static function (I18nData $data, string $language) {
return $data->getData()[$language]['file2.php']['file2.l1.l2.k2'];
};
@@ -526,7 +528,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('new value', $afterFrValue->getValue());
}
- public function testAddValueWhenLanguageIsReferenceAndValueInOtherLanguageHasChange() {
+ public function testAddValueWhenLanguageIsReferenceAndValueInOtherLanguageHasChange(): void {
$getTargetedValue = static function (I18nData $data, string $language) {
return $data->getData()[$language]['file2.php']['file2.l1.l2.k2'];
};
@@ -561,7 +563,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertEquals($value, $afterFrValue);
}
- public function testAddValueWhenLanguageIsNotReference() {
+ public function testAddValueWhenLanguageIsNotReference(): void {
$getTargetedValue = static function (I18nData $data, string $language) {
return $data->getData()[$language]['file2.php']['file2.l1.l2.k2'];
};
@@ -583,21 +585,21 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('new value', $afterFrValue->getValue());
}
- public function testRemoveKeyWhenKeyDoesNotExist() {
+ public function testRemoveKeyWhenKeyDoesNotExist(): void {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('The selected key does not exist.');
$data = new I18nData($this->referenceData);
$data->removeKey('Unknown key');
}
- public function testRemoveKeyWhenKeyHasNoEmptySibling() {
+ public function testRemoveKeyWhenKeyHasNoEmptySibling(): void {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('The selected key does not exist.');
$data = new I18nData($this->referenceData);
$data->removeKey('file1.l1.l2');
}
- public function testRemoveKeyWhenKeyIsEmptySibling() {
+ public function testRemoveKeyWhenKeyIsEmptySibling(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
]);
@@ -635,7 +637,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testRemoveKeyWhenKeyIsTheOnlyChild() {
+ public function testRemoveKeyWhenKeyIsTheOnlyChild(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
]);
@@ -673,7 +675,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
], $data->getData());
}
- public function testIgnore() {
+ public function testIgnore(): void {
$value = $this->getMockBuilder(I18nValue::class)
->disableOriginalConstructor()
->getMock();
@@ -695,7 +697,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$data->ignore('file1.l1.l2.k1', 'fr', false);
}
- public function testIgnoreUnmodified() {
+ public function testIgnoreUnmodified(): void {
$value = $this->getMockBuilder(I18nValue::class)
->disableOriginalConstructor()
->getMock();
@@ -722,7 +724,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$data->ignore_unmodified('fr', false);
}
- public function testGetLanguage() {
+ public function testGetLanguage(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
'nl' => [],
@@ -731,7 +733,7 @@ class I18nDataTest extends PHPUnit\Framework\TestCase {
$this->assertEquals($this->referenceData['en'], $data->getLanguage('en'));
}
- public function testGetReferenceLanguage() {
+ public function testGetReferenceLanguage(): void {
$rawData = array_merge($this->referenceData, [
'fr' => [],
'nl' => [],
diff --git a/tests/cli/i18n/I18nFileTest.php b/tests/cli/i18n/I18nFileTest.php
index 26566ddf1..662c14608 100644
--- a/tests/cli/i18n/I18nFileTest.php
+++ b/tests/cli/i18n/I18nFileTest.php
@@ -3,7 +3,7 @@
require_once __DIR__ . '/../../../cli/i18n/I18nFile.php';
class I18nFileTest extends PHPUnit\Framework\TestCase {
- public function test() {
+ public function test(): void {
$before = $this->computeFilesHash();
$file = new I18nFile();
@@ -15,7 +15,8 @@ class I18nFileTest extends PHPUnit\Framework\TestCase {
$this->assertEquals($before, $after);
}
- private function computeFilesHash() {
+ /** @return array<string,string> */
+ private function computeFilesHash(): array {
$hashes = [];
$dirs = new DirectoryIterator(I18N_PATH);
diff --git a/tests/cli/i18n/I18nUsageValidatorTest.php b/tests/cli/i18n/I18nUsageValidatorTest.php
index 531e77c5d..fdd75bf64 100644
--- a/tests/cli/i18n/I18nUsageValidatorTest.php
+++ b/tests/cli/i18n/I18nUsageValidatorTest.php
@@ -4,6 +4,7 @@ require_once __DIR__ . '/../../../cli/i18n/I18nValue.php';
require_once __DIR__ . '/../../../cli/i18n/I18nUsageValidator.php';
class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
+ /** @var I18nValue */
private $value;
public function setUp(): void {
@@ -12,7 +13,7 @@ class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
->getMock();
}
- public function testDisplayReport() {
+ public function testDisplayReport(): void {
$validator = new I18nUsageValidator([], []);
$this->assertEquals("There is no data.\n", $validator->displayReport());
@@ -40,13 +41,13 @@ class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
$validator->displayReport();
}
- public function testValidateWhenNoData() {
+ public function testValidateWhenNoData(): void {
$validator = new I18nUsageValidator([], []);
$this->assertTrue($validator->validate());
$this->assertEquals('', $validator->displayResult());
}
- public function testValidateWhenParentKeyExistsWithoutTransformation() {
+ public function testValidateWhenParentKeyExistsWithoutTransformation(): void {
$validator = new I18nUsageValidator([
'file1' => [
'file1.l1.l2._' => $this->value,
@@ -62,7 +63,7 @@ class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('', $validator->displayResult());
}
- public function testValidateWhenParentKeyExistsWithTransformation() {
+ public function testValidateWhenParentKeyExistsWithTransformation(): void {
$validator = new I18nUsageValidator([
'file1' => [
'file1.l1.l2._' => $this->value,
@@ -78,7 +79,7 @@ class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('', $validator->displayResult());
}
- public function testValidateWhenParentKeyDoesNotExist() {
+ public function testValidateWhenParentKeyDoesNotExist(): void {
$validator = new I18nUsageValidator([
'file1' => [
'file1.l1.l2._' => $this->value,
@@ -91,7 +92,7 @@ class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals("Unused key file1.l1.l2._ - \nUnused key file2.l1.l2._ - \n", $validator->displayResult());
}
- public function testValidateWhenChildKeyExists() {
+ public function testValidateWhenChildKeyExists(): void {
$validator = new I18nUsageValidator([
'file1' => [
'file1.l1.l2.k1' => $this->value,
@@ -107,7 +108,7 @@ class I18nUsageValidatorTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('', $validator->displayResult());
}
- public function testValidateWhenChildKeyDoesNotExist() {
+ public function testValidateWhenChildKeyDoesNotExist(): void {
$validator = new I18nUsageValidator([
'file1' => [
'file1.l1.l2.k1' => $this->value,
diff --git a/tests/cli/i18n/I18nValueTest.php b/tests/cli/i18n/I18nValueTest.php
index cabc8e072..7a1109a20 100644
--- a/tests/cli/i18n/I18nValueTest.php
+++ b/tests/cli/i18n/I18nValueTest.php
@@ -3,35 +3,35 @@
require_once __DIR__ . '/../../../cli/i18n/I18nValue.php';
class I18nValueTest extends PHPUnit\Framework\TestCase {
- public function testConstructorWithoutState() {
+ public function testConstructorWithoutState(): void {
$value = new I18nValue('some value');
$this->assertEquals('some value', $value->getValue());
$this->assertFalse($value->isIgnore());
$this->assertFalse($value->isTodo());
}
- public function testConstructorWithUnknownState() {
+ public function testConstructorWithUnknownState(): void {
$value = new I18nValue('some value -> unknown');
$this->assertEquals('some value', $value->getValue());
$this->assertFalse($value->isIgnore());
$this->assertFalse($value->isTodo());
}
- public function testConstructorWithTodoState() {
+ public function testConstructorWithTodoState(): void {
$value = new I18nValue('some value -> todo');
$this->assertEquals('some value', $value->getValue());
$this->assertFalse($value->isIgnore());
$this->assertTrue($value->isTodo());
}
- public function testConstructorWithIgnoreState() {
+ public function testConstructorWithIgnoreState(): void {
$value = new I18nValue('some value -> ignore');
$this->assertEquals('some value', $value->getValue());
$this->assertTrue($value->isIgnore());
$this->assertFalse($value->isTodo());
}
- public function testClone() {
+ public function testClone(): void {
$value = new I18nValue('some value');
$clonedValue = clone $value;
$this->assertEquals('some value', $value->getValue());
@@ -42,21 +42,21 @@ class I18nValueTest extends PHPUnit\Framework\TestCase {
$this->assertTrue($clonedValue->isTodo());
}
- public function testEqualWhenValueIsIdentical() {
+ public function testEqualWhenValueIsIdentical(): void {
$value = new I18nValue('some value');
$clonedValue = clone $value;
$this->assertTrue($value->equal($clonedValue));
$this->assertTrue($clonedValue->equal($value));
}
- public function testEqualWhenValueIsDifferent() {
+ public function testEqualWhenValueIsDifferent(): void {
$value = new I18nValue('some value');
$otherValue = new I18nValue('some other value');
$this->assertFalse($value->equal($otherValue));
$this->assertFalse($otherValue->equal($value));
}
- public function testStates() {
+ public function testStates(): void {
$reflectionProperty = new ReflectionProperty(I18nValue::class, 'state');
$reflectionProperty->setAccessible(true);
@@ -74,7 +74,7 @@ class I18nValueTest extends PHPUnit\Framework\TestCase {
$this->assertEquals('todo', $reflectionProperty->getValue($value));
}
- public function testToString() {
+ public function testToString(): void {
$value = new I18nValue('some value');
$this->assertEquals('some value', $value->__toString());
$value->markAsTodo();