diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9cddbba..c94aa09 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - php: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5'] steps: - uses: actions/checkout@v2 diff --git a/composer.json b/composer.json index 6f7b045..e9d6ea8 100644 --- a/composer.json +++ b/composer.json @@ -21,12 +21,12 @@ }, "require": { "php": ">=7.1", - "composer-plugin-api": "^1.0 || ^2.0" + "composer-plugin-api": "^2.0" }, "require-dev": { - "composer/composer": "^1.1@dev || ^2.0@dev", + "composer/composer": "^2.0@dev", "mikey179/vfsstream": "~1.4.0@dev", - "phpunit/phpunit": ">4.8 <9" + "phpunit/phpunit": "^8 || ^9" }, "replace": { "helhum/class-alias-loader": "*" diff --git a/tests/Unit/BaseTestCase.php b/tests/Unit/BaseTestCase.php deleted file mode 100644 index 36dc405..0000000 --- a/tests/Unit/BaseTestCase.php +++ /dev/null @@ -1,17 +0,0 @@ -composerClassLoaderMock = $this->getMockBuilder('Composer\\Autoload\\ClassLoader')->getMock(); $this->subject = new ClassAliasLoader($this->composerClassLoaderMock); } - /** - * @after - */ - public function tearMeDown() + public function tearDown(): void { $this->subject->unregister(); } @@ -49,7 +44,7 @@ public function tearMeDown() /** * @test */ - public function composerLoadClassIsCalledOnlyOnceWhenCaseSensitiveClassLoadingIsOn() + public function composerLoadClassIsCalledOnlyOnceWhenCaseSensitiveClassLoadingIsOn(): void { $this->composerClassLoaderMock->expects($this->once())->method('loadClass'); $this->subject->loadClassWithAlias('TestClass'); @@ -58,7 +53,7 @@ public function composerLoadClassIsCalledOnlyOnceWhenCaseSensitiveClassLoadingIs /** * @test */ - public function composerLoadClassIsCalledOnlyOnceWhenCaseSensitiveClassLoadingIsOffButClassIsFound() + public function composerLoadClassIsCalledOnlyOnceWhenCaseSensitiveClassLoadingIsOffButClassIsFound(): void { $this->composerClassLoaderMock->expects($this->once())->method('loadClass')->willReturn(true); $this->subject->setCaseSensitiveClassLoading(false); @@ -68,7 +63,7 @@ public function composerLoadClassIsCalledOnlyOnceWhenCaseSensitiveClassLoadingIs /** * @test */ - public function composerLoadClassIsCalledTwiceWhenCaseSensitiveClassLoadingIsOffAndClassIsNotFound() + public function composerLoadClassIsCalledTwiceWhenCaseSensitiveClassLoadingIsOffAndClassIsNotFound(): void { $this->composerClassLoaderMock->expects($this->exactly(2))->method('loadClass'); $this->subject->setCaseSensitiveClassLoading(false); @@ -78,7 +73,7 @@ public function composerLoadClassIsCalledTwiceWhenCaseSensitiveClassLoadingIsOff /** * @test */ - public function loadsClassIfNoAliasIsFound() + public function loadsClassIfNoAliasIsFound(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $this->composerClassLoaderMock->expects($this->once())->method('loadClass')->willReturnCallback(function ($className) { @@ -92,7 +87,7 @@ public function loadsClassIfNoAliasIsFound() /** * @test */ - public function callingLoadClassMultipleTimesInEdgeCasesWillStillWork() + public function callingLoadClassMultipleTimesInEdgeCasesWillStillWork(): void { $this->composerClassLoaderMock ->expects($this->exactly(2)) @@ -105,7 +100,7 @@ public function callingLoadClassMultipleTimesInEdgeCasesWillStillWork() /** * @test */ - public function loadClassWithOriginalClassNameSetsAliases() + public function loadClassWithOriginalClassNameSetsAliases(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -134,7 +129,7 @@ public function loadClassWithOriginalClassNameSetsAliases() /** * @test */ - public function getClassNameForAliasReturnsClassNameForEachAlias() + public function getClassNameForAliasReturnsClassNameForEachAlias(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -157,7 +152,7 @@ public function getClassNameForAliasReturnsClassNameForEachAlias() /** * @test */ - public function addAliasMapAddsAliasesCorrectlyToTheMap() + public function addAliasMapAddsAliasesCorrectlyToTheMap(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -185,7 +180,7 @@ public function addAliasMapAddsAliasesCorrectlyToTheMap() /** * @test */ - public function getClassNameForAliasReturnsClassNameForClassName() + public function getClassNameForAliasReturnsClassNameForClassName(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -207,7 +202,7 @@ public function getClassNameForAliasReturnsClassNameForClassName() /** * @test */ - public function getClassNameForAliasReturnsClassNameForClassNameWithNoAliasMapSet() + public function getClassNameForAliasReturnsClassNameForClassNameWithNoAliasMapSet(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $this->assertEquals($testClassName, $this->subject->getClassNameForAlias($testClassName)); @@ -216,7 +211,7 @@ public function getClassNameForAliasReturnsClassNameForClassNameWithNoAliasMapSe /** * @test */ - public function loadClassWithAliasClassNameSetsAliasesAndLoadsOriginalClass() + public function loadClassWithAliasClassNameSetsAliasesAndLoadsOriginalClass(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -246,7 +241,7 @@ public function loadClassWithAliasClassNameSetsAliasesAndLoadsOriginalClass() /** * @test */ - public function aliasesInstancesHaveOriginalClassName() + public function aliasesInstancesHaveOriginalClassName(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -279,7 +274,7 @@ public function aliasesInstancesHaveOriginalClassName() /** * @test */ - public function classAliasesAreGracefullySetIfClassAlreadyExists() + public function classAliasesAreGracefullySetIfClassAlreadyExists(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -310,7 +305,7 @@ public function classAliasesAreGracefullySetIfClassAlreadyExists() /** * @test */ - public function interfaceAliasesAreGracefullySetIfInterfaceAlreadyExists() + public function interfaceAliasesAreGracefullySetIfInterfaceAlreadyExists(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -338,7 +333,7 @@ public function interfaceAliasesAreGracefullySetIfInterfaceAlreadyExists() /** * @test */ - public function classAliasesAreNotReEstablishedIfTheyAlreadyExist() + public function classAliasesAreNotReEstablishedIfTheyAlreadyExist(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); @@ -366,7 +361,7 @@ class_alias($testClassName, $testAlias1); /** * @test */ - public function loadClassWithAliasReturnsNullIfComposerClassLoaderCannotFindClass() + public function loadClassWithAliasReturnsNullIfComposerClassLoaderCannotFindClass(): void { $this->composerClassLoaderMock->expects($this->once())->method('loadClass'); $this->assertNull($this->subject->loadClassWithAlias('TestClass')); @@ -375,7 +370,7 @@ public function loadClassWithAliasReturnsNullIfComposerClassLoaderCannotFindClas /** * @test */ - public function loadClassWithAliasReturnsNullIfComposerClassLoaderCannotFindClassEvenIfItExistsInMap() + public function loadClassWithAliasReturnsNullIfComposerClassLoaderCannotFindClassEvenIfItExistsInMap(): void { $testClassName = 'TestClass' . md5(uniqid('bla', true)); $testAlias1 = 'TestAlias' . md5(uniqid('bla', true)); diff --git a/tests/Unit/ConfigTest.php b/tests/Unit/ConfigTest.php index 9be449b..d4dc111 100644 --- a/tests/Unit/ConfigTest.php +++ b/tests/Unit/ConfigTest.php @@ -12,12 +12,14 @@ use Composer\IO\IOInterface; use Composer\Package\PackageInterface; +use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\TestCase; use TYPO3\ClassAliasLoader\Config; /** * Test case for Config */ -class ConfigTest extends BaseTestCase +class ConfigTest extends TestCase { /** * @var Config @@ -25,30 +27,26 @@ class ConfigTest extends BaseTestCase protected $subject; /** - * @var IOInterface|\PHPUnit_Framework_MockObject_MockObject + * @var IOInterface|MockObject */ protected $ioMock; /** - * @var PackageInterface|\PHPUnit_Framework_MockObject_MockObject + * @var PackageInterface|MockObject */ protected $packageMock; - /** - * @before - */ - public function setMeUp() + public function setUp(): void { $this->ioMock = $this->getMockBuilder('Composer\\IO\\IOInterface')->getMock(); $this->packageMock = $this->getMockBuilder('Composer\\Package\\PackageInterface')->getMock(); - $this->subject = new Config($this->packageMock, $this->ioMock); } /** * @test */ - public function throwsExceptionForEmptyKey() + public function throwsExceptionForEmptyKey(): void { // Use this instead when old PHP versions are dropped and minimum phpunit version can be raised: /** @@ -70,7 +68,7 @@ public function throwsExceptionForEmptyKey() /** * @test */ - public function defaultConfigIsAppliedWhenNothingIsConfiguredInPackage() + public function defaultConfigIsAppliedWhenNothingIsConfiguredInPackage(): void { $this->assertFalse($this->subject->get('always-add-alias-loader')); $this->assertTrue($this->subject->get('autoload-case-sensitivity')); @@ -80,7 +78,7 @@ public function defaultConfigIsAppliedWhenNothingIsConfiguredInPackage() /** * @test */ - public function aliasMapConfigIsExtracted() + public function aliasMapConfigIsExtracted(): void { $this->packageMock->expects($this->any())->method('getExtra')->willReturn( array( @@ -100,7 +98,7 @@ public function aliasMapConfigIsExtracted() /** * @test */ - public function aliasMapConfigIsExtractedFromDeprecatedKey() + public function aliasMapConfigIsExtractedFromDeprecatedKey(): void { $this->packageMock->expects($this->any())->method('getExtra')->willReturn( array( @@ -121,7 +119,7 @@ public function aliasMapConfigIsExtractedFromDeprecatedKey() /** * @test */ - public function otherConfigIsExtracted() + public function otherConfigIsExtracted(): void { $this->packageMock->expects($this->any())->method('getExtra')->willReturn( array( @@ -141,7 +139,7 @@ public function otherConfigIsExtracted() /** * @test */ - public function otherConfigIsExtractedFromDeprecatedKey() + public function otherConfigIsExtractedFromDeprecatedKey(): void { $this->packageMock->expects($this->any())->method('getExtra')->willReturn( array( @@ -161,7 +159,7 @@ public function otherConfigIsExtractedFromDeprecatedKey() /** * @test */ - public function caseSensitivityConfigIsExtractedFromVeryDeprecatedKey() + public function caseSensitivityConfigIsExtractedFromVeryDeprecatedKey(): void { $this->packageMock->expects($this->any())->method('getExtra')->willReturn( array( diff --git a/tests/Unit/IncludeFileTest.php b/tests/Unit/IncludeFileTest.php index 03fb319..c3ae857 100644 --- a/tests/Unit/IncludeFileTest.php +++ b/tests/Unit/IncludeFileTest.php @@ -14,13 +14,14 @@ use Composer\IO\IOInterface; use Composer\Package\PackageInterface; use PHPUnit\Framework\MockObject\MockObject; +use PHPUnit\Framework\TestCase; use TYPO3\ClassAliasLoader\Config; use TYPO3\ClassAliasLoader\IncludeFile; /** * Test case for IncludeFile */ -final class IncludeFileTest extends BaseTestCase +final class IncludeFileTest extends TestCase { /** * @var IncludeFile @@ -44,10 +45,7 @@ final class IncludeFileTest extends BaseTestCase private $testDir = __DIR__; - /** - * @before - */ - public function setMeUp() + public function setUp(): void { $this->ioMock = $this->getMockBuilder('Composer\\IO\\IOInterface')->getMock(); $this->packageMock = $this->getMockBuilder('Composer\\Package\\RootPackageInterface')->getMock(); @@ -84,17 +82,14 @@ public function setMeUp() ); } - /** - * @after - */ - public function tearMeDown() + public function tearDown(): void { unlink($this->testDir . IncludeFile::INCLUDE_FILE); rmdir(dirname($this->testDir . IncludeFile::INCLUDE_FILE)); } - public function testIncludeFileCanPeWritten() + public function testIncludeFileCanPeWritten(): void { $this->subject->register(); self::assertTrue(file_exists($this->testDir . IncludeFile::INCLUDE_FILE));