From 395fb3578358dc520da6c15c2be2c0f8147ddb5a Mon Sep 17 00:00:00 2001 From: James Titcumb Date: Fri, 19 Dec 2025 15:40:05 +0000 Subject: [PATCH] 462: fix CompleteAliasPackage from breaking CompletePackage checks by ensuring we use CompletePackageInterface --- src/ComposerIntegration/InstalledJsonMetadata.php | 3 +-- .../PhpBinaryPathBasedPlatformRepository.php | 3 ++- src/ComposerIntegration/PiePackageInstaller.php | 6 +++--- .../InstallForPhpProject/FindMatchingPackages.php | 4 ++-- test/integration/Building/UnixBuildTest.php | 12 ++++++------ .../Downloading/GithubPackageReleaseAssetsTest.php | 4 ++-- test/integration/Installing/UnixInstallTest.php | 4 ++-- test/integration/Installing/WindowsInstallTest.php | 4 ++-- test/unit/Command/CommandHelperTest.php | 4 ++-- .../InstalledJsonMetadataTest.php | 3 ++- test/unit/DependencyResolver/PackageTest.php | 3 ++- test/unit/Downloading/DownloadUrlMethodTest.php | 3 +-- test/unit/Downloading/DownloadedPackageTest.php | 10 +++++----- .../Exception/CouldNotFindReleaseAssetTest.php | 8 ++++---- .../Downloading/GithubPackageReleaseAssetsTest.php | 8 ++++---- .../Ini/AddExtensionToTheIniFileTest.php | 14 +++++++------- .../Ini/PickBestSetupIniApproachTest.php | 8 ++++---- .../FindMatchingPackagesTest.php | 7 ++++--- .../Platform/WindowsExtensionAssetNameTest.php | 4 ++-- 19 files changed, 57 insertions(+), 55 deletions(-) diff --git a/src/ComposerIntegration/InstalledJsonMetadata.php b/src/ComposerIntegration/InstalledJsonMetadata.php index e91aaaaa..ee781d3b 100644 --- a/src/ComposerIntegration/InstalledJsonMetadata.php +++ b/src/ComposerIntegration/InstalledJsonMetadata.php @@ -4,7 +4,6 @@ namespace Php\Pie\ComposerIntegration; -use Composer\Package\CompletePackage; use Composer\Package\CompletePackageInterface; use Composer\PartialComposer; use Php\Pie\ComposerIntegration\PieInstalledJsonMetadataKeys as MetadataKey; @@ -118,7 +117,7 @@ private function addPieMetadata( ->getRepositoryManager() ->getLocalRepository() ->findPackages($composerPackage->getName())[0]; - Assert::isInstanceOf($localRepositoryPackage, CompletePackage::class); + Assert::methodExists($localRepositoryPackage, 'setExtra'); $localRepositoryPackage->setExtra(array_merge($localRepositoryPackage->getExtra(), [$key->value => $value])); } diff --git a/src/ComposerIntegration/PhpBinaryPathBasedPlatformRepository.php b/src/ComposerIntegration/PhpBinaryPathBasedPlatformRepository.php index 15d1de73..e29f941b 100644 --- a/src/ComposerIntegration/PhpBinaryPathBasedPlatformRepository.php +++ b/src/ComposerIntegration/PhpBinaryPathBasedPlatformRepository.php @@ -6,6 +6,7 @@ use Composer\Composer; use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Pcre\Preg; use Composer\Repository\PlatformRepository; use Composer\Semver\VersionParser; @@ -85,7 +86,7 @@ public function __construct(PhpBinaryPath $phpBinaryPath, Composer $composer, In parent::__construct(); } - private function packageForExtension(string $name, string $prettyVersion): CompletePackage + private function packageForExtension(string $name, string $prettyVersion): CompletePackageInterface { $extraDescription = ''; diff --git a/src/ComposerIntegration/PiePackageInstaller.php b/src/ComposerIntegration/PiePackageInstaller.php index 65268462..bec8b961 100644 --- a/src/ComposerIntegration/PiePackageInstaller.php +++ b/src/ComposerIntegration/PiePackageInstaller.php @@ -6,7 +6,7 @@ use Composer\Installer\LibraryInstaller; use Composer\IO\IOInterface; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Package\PackageInterface; use Composer\PartialComposer; use Composer\Repository\InstalledRepositoryInterface; @@ -52,7 +52,7 @@ public function install(InstalledRepositoryInterface $repo, PackageInterface $pa return null; } - if (! $composerPackage instanceof CompletePackage) { + if (! $composerPackage instanceof CompletePackageInterface) { $io->writeError(sprintf( 'Not using PIE to install %s as it was not a Complete Package', $composerPackage->getName(), @@ -94,7 +94,7 @@ public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $ return null; } - if (! $composerPackage instanceof CompletePackage) { + if (! $composerPackage instanceof CompletePackageInterface) { $io->writeError(sprintf( 'Not using PIE to install %s as it was not a Complete Package', $composerPackage->getName(), diff --git a/src/Installing/InstallForPhpProject/FindMatchingPackages.php b/src/Installing/InstallForPhpProject/FindMatchingPackages.php index 358d9e61..5111f659 100644 --- a/src/Installing/InstallForPhpProject/FindMatchingPackages.php +++ b/src/Installing/InstallForPhpProject/FindMatchingPackages.php @@ -5,7 +5,7 @@ namespace Php\Pie\Installing\InstallForPhpProject; use Composer\Composer; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Repository\RepositoryInterface; use OutOfRangeException; use Php\Pie\DependencyResolver\Package; @@ -41,7 +41,7 @@ public function for(Composer $pieComposer, string $searchTerm): array static function (array $match) use ($pieComposer, $extensionName): bool { $package = $pieComposer->getRepositoryManager()->findPackage($match['name'], '*'); - if (! $package instanceof CompletePackage) { + if (! $package instanceof CompletePackageInterface) { return false; } diff --git a/test/integration/Building/UnixBuildTest.php b/test/integration/Building/UnixBuildTest.php index a8436324..73d1c80f 100644 --- a/test/integration/Building/UnixBuildTest.php +++ b/test/integration/Building/UnixBuildTest.php @@ -5,7 +5,7 @@ namespace Php\PieIntegrationTest\Building; use Composer\IO\BufferIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Util\Platform; use Php\Pie\Building\ExtensionBinaryNotFound; use Php\Pie\Building\UnixBuild; @@ -37,7 +37,7 @@ public function testUnixBuildCanBuildExtension(): void $downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('pie_test_ext'), 'pie_test_ext', @@ -86,7 +86,7 @@ public function testUnixBuildWillThrowExceptionWhenExpectedBinaryNameMismatches( $downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('mismatched_name'), 'pie_test_ext', @@ -121,7 +121,7 @@ public function testUnixBuildCanBuildExtensionWithBuildPath(): void $output = new BufferIO(); - $composerPackage = $this->createMock(CompletePackage::class); + $composerPackage = $this->createMock(CompletePackageInterface::class); $composerPackage->method('getPrettyName')->willReturn('myvendor/pie_test_ext'); $composerPackage->method('getPrettyVersion')->willReturn('0.1.0'); $composerPackage->method('getType')->willReturn('php-ext'); @@ -174,7 +174,7 @@ public function testCleanupDoesNotCleanWhenConfigureIsMissing(): void $downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('pie_test_ext'), 'pie_test_ext', @@ -211,7 +211,7 @@ public function testVerboseOutputShowsCleanupMessages(): void $downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('pie_test_ext'), 'pie_test_ext', diff --git a/test/integration/Downloading/GithubPackageReleaseAssetsTest.php b/test/integration/Downloading/GithubPackageReleaseAssetsTest.php index 61f549b6..cd9cb4b3 100644 --- a/test/integration/Downloading/GithubPackageReleaseAssetsTest.php +++ b/test/integration/Downloading/GithubPackageReleaseAssetsTest.php @@ -6,7 +6,7 @@ use Composer\Factory; use Composer\IO\NullIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Util\HttpDownloader; use Php\Pie\DependencyResolver\Package; use Php\Pie\Downloading\GithubPackageReleaseAssets; @@ -46,7 +46,7 @@ public function testDeterminingReleaseAssetUrlForWindows(): void ); $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('example_pie_extension'), 'asgrim/example-pie-extension', diff --git a/test/integration/Installing/UnixInstallTest.php b/test/integration/Installing/UnixInstallTest.php index 7709cddf..cd58849f 100644 --- a/test/integration/Installing/UnixInstallTest.php +++ b/test/integration/Installing/UnixInstallTest.php @@ -5,7 +5,7 @@ namespace Php\PieIntegrationTest\Installing; use Composer\IO\BufferIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Util\Platform; use Php\Pie\Building\UnixBuild; use Php\Pie\DependencyResolver\Package; @@ -78,7 +78,7 @@ public function testUnixInstallCanInstallExtension(string $phpConfig): void $downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('pie_test_ext'), 'pie_test_ext', diff --git a/test/integration/Installing/WindowsInstallTest.php b/test/integration/Installing/WindowsInstallTest.php index 0f6c2fad..086fe026 100644 --- a/test/integration/Installing/WindowsInstallTest.php +++ b/test/integration/Installing/WindowsInstallTest.php @@ -5,7 +5,7 @@ namespace Php\PieIntegrationTest\Installing; use Composer\IO\BufferIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\Downloading\DownloadedPackage; use Php\Pie\ExtensionName; @@ -47,7 +47,7 @@ public function testWindowsInstallCanInstallExtension(): void { $downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('pie_test_ext'), 'php/pie-test-ext', diff --git a/test/unit/Command/CommandHelperTest.php b/test/unit/Command/CommandHelperTest.php index 98b1c743..04c1f1ee 100644 --- a/test/unit/Command/CommandHelperTest.php +++ b/test/unit/Command/CommandHelperTest.php @@ -7,7 +7,7 @@ use Composer\Composer; use Composer\IO\BufferIO; use Composer\IO\NullIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Repository\ComposerRepository; use Composer\Repository\PathRepository; use Composer\Repository\RepositoryManager; @@ -95,7 +95,7 @@ public function testBindingConfigurationOptionsFromPackage(): void public function testProcessingConfigureOptionsFromInput(): void { - $composerPackage = $this->createMock(CompletePackage::class); + $composerPackage = $this->createMock(CompletePackageInterface::class); $composerPackage->method('getPrettyName')->willReturn('foo/bar'); $composerPackage->method('getPrettyVersion')->willReturn('1.0.0'); $composerPackage->method('getType')->willReturn('php-ext'); diff --git a/test/unit/ComposerIntegration/InstalledJsonMetadataTest.php b/test/unit/ComposerIntegration/InstalledJsonMetadataTest.php index dead5ba2..c1dc4cd5 100644 --- a/test/unit/ComposerIntegration/InstalledJsonMetadataTest.php +++ b/test/unit/ComposerIntegration/InstalledJsonMetadataTest.php @@ -7,6 +7,7 @@ use Composer\Composer; use Composer\IO\IOInterface; use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Repository\InstalledArrayRepository; use Composer\Repository\RepositoryManager; use Php\Pie\ComposerIntegration\InstalledJsonMetadata; @@ -28,7 +29,7 @@ #[CoversClass(InstalledJsonMetadata::class)] final class InstalledJsonMetadataTest extends TestCase { - private function mockComposerInstalledRepositoryWith(CompletePackage $package): Composer&MockObject + private function mockComposerInstalledRepositoryWith(CompletePackageInterface $package): Composer&MockObject { $installedRepository = new InstalledArrayRepository([$package]); diff --git a/test/unit/DependencyResolver/PackageTest.php b/test/unit/DependencyResolver/PackageTest.php index 3889d755..ea8b3080 100644 --- a/test/unit/DependencyResolver/PackageTest.php +++ b/test/unit/DependencyResolver/PackageTest.php @@ -5,6 +5,7 @@ namespace Php\PieUnitTest\DependencyResolver; use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use InvalidArgumentException; use Php\Pie\DependencyResolver\Package; use Php\Pie\ExtensionName; @@ -124,7 +125,7 @@ public static function githubOrgAndRepoFromPackage(): array public function testGithubOrgAndRepo(string $composerPackageName, string|null $downloadUrl, string $expectedGithubOrgAndRepo): void { $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), $composerPackageName, diff --git a/test/unit/Downloading/DownloadUrlMethodTest.php b/test/unit/Downloading/DownloadUrlMethodTest.php index d3856006..26712bec 100644 --- a/test/unit/Downloading/DownloadUrlMethodTest.php +++ b/test/unit/Downloading/DownloadUrlMethodTest.php @@ -4,7 +4,6 @@ namespace Php\PieUnitTest\Downloading; -use Composer\Package\CompletePackage; use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\Downloading\DownloadUrlMethod; @@ -64,7 +63,7 @@ public function testWindowsPackages(): void public function testPrePackagedSourceDownloads(): void { - $composerPackage = $this->createMock(CompletePackage::class); + $composerPackage = $this->createMock(CompletePackageInterface::class); $composerPackage->method('getPrettyName')->willReturn('foo/bar'); $composerPackage->method('getPrettyVersion')->willReturn('1.2.3'); $composerPackage->method('getType')->willReturn('php-ext'); diff --git a/test/unit/Downloading/DownloadedPackageTest.php b/test/unit/Downloading/DownloadedPackageTest.php index 4ffb581e..ea8b306c 100644 --- a/test/unit/Downloading/DownloadedPackageTest.php +++ b/test/unit/Downloading/DownloadedPackageTest.php @@ -4,7 +4,7 @@ namespace Php\PieUnitTest\Downloading; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\Downloading\DownloadedPackage; use Php\Pie\ExtensionName; @@ -23,7 +23,7 @@ final class DownloadedPackageTest extends TestCase public function testFromPackageAndExtractedPath(): void { $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'foo/bar', @@ -41,7 +41,7 @@ public function testFromPackageAndExtractedPath(): void public function testFromPackageAndExtractedPathWithBuildPath(): void { - $composerPackage = $this->createMock(CompletePackage::class); + $composerPackage = $this->createMock(CompletePackageInterface::class); $composerPackage->method('getPrettyName')->willReturn('foo/bar'); $composerPackage->method('getPrettyVersion')->willReturn('1.2.3'); $composerPackage->method('getType')->willReturn('php-ext'); @@ -59,7 +59,7 @@ public function testFromPackageAndExtractedPathWithBuildPath(): void public function testFromPackageAndExtractedPathWithBuildPathWithVersionTemplate(): void { - $composerPackage = $this->createMock(CompletePackage::class); + $composerPackage = $this->createMock(CompletePackageInterface::class); $composerPackage->method('getPrettyName')->willReturn('foo/bar'); $composerPackage->method('getPrettyVersion')->willReturn('1.2.3'); $composerPackage->method('getType')->willReturn('php-ext'); @@ -77,7 +77,7 @@ public function testFromPackageAndExtractedPathWithBuildPathWithVersionTemplate( public function testBuildPathDetectedFromExtractedPrePackagedSourceAsset(): void { - $composerPackage = $this->createMock(CompletePackage::class); + $composerPackage = $this->createMock(CompletePackageInterface::class); $composerPackage->method('getPrettyName')->willReturn('foo/bar'); $composerPackage->method('getPrettyVersion')->willReturn('1.2.3'); $composerPackage->method('getType')->willReturn('php-ext'); diff --git a/test/unit/Downloading/Exception/CouldNotFindReleaseAssetTest.php b/test/unit/Downloading/Exception/CouldNotFindReleaseAssetTest.php index 83bc674d..d7b153d3 100644 --- a/test/unit/Downloading/Exception/CouldNotFindReleaseAssetTest.php +++ b/test/unit/Downloading/Exception/CouldNotFindReleaseAssetTest.php @@ -4,7 +4,7 @@ namespace Php\PieUnitTest\Downloading\Exception; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\Downloading\Exception\CouldNotFindReleaseAsset; use Php\Pie\ExtensionName; @@ -25,7 +25,7 @@ final class CouldNotFindReleaseAssetTest extends TestCase public function testForPackageWithRegularPackage(): void { $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'foo/bar', @@ -53,7 +53,7 @@ public function testForPackageWithRegularPackage(): void public function testForPackageWithWindowsPackage(): void { $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'foo/bar', @@ -81,7 +81,7 @@ public function testForPackageWithWindowsPackage(): void public function testForPackageWithMissingTag(): void { $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'foo/bar', diff --git a/test/unit/Downloading/GithubPackageReleaseAssetsTest.php b/test/unit/Downloading/GithubPackageReleaseAssetsTest.php index d19b55db..eb2985fd 100644 --- a/test/unit/Downloading/GithubPackageReleaseAssetsTest.php +++ b/test/unit/Downloading/GithubPackageReleaseAssetsTest.php @@ -5,7 +5,7 @@ namespace Php\PieUnitTest\Downloading; use Composer\Downloader\TransportException; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Util\Http\Response; use Composer\Util\HttpDownloader; use Php\Pie\DependencyResolver\Package; @@ -70,7 +70,7 @@ public function testUrlIsReturnedWhenFindingWindowsDownloadUrl(): void ->willReturn($httpDownloaderResponse); $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'asgrim/example-pie-extension', @@ -135,7 +135,7 @@ public function testUrlIsReturnedWhenFindingWindowsDownloadUrlWithCompilerAndThr ->willReturn($httpDownloaderResponse); $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'asgrim/example-pie-extension', @@ -181,7 +181,7 @@ public function testFindWindowsDownloadUrlForPackageThrowsExceptionWhenAssetNotF ->willThrowException($e); $package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'asgrim/example-pie-extension', diff --git a/test/unit/Installing/Ini/AddExtensionToTheIniFileTest.php b/test/unit/Installing/Ini/AddExtensionToTheIniFileTest.php index d2a71a7b..afe7a9b9 100644 --- a/test/unit/Installing/Ini/AddExtensionToTheIniFileTest.php +++ b/test/unit/Installing/Ini/AddExtensionToTheIniFileTest.php @@ -5,7 +5,7 @@ namespace Php\PieUnitTest\Installing\Ini; use Composer\IO\BufferIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\ExtensionName; use Php\Pie\ExtensionType; @@ -59,7 +59,7 @@ public function testReturnsFalseWhenFileIsNotWritableAndSudoDoesNotExist(): void self::assertFalse((new AddExtensionToTheIniFile())( $unwritableFilename, new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foobar'), 'foo/bar', @@ -95,7 +95,7 @@ public function testReturnsTrueWhenFileIsNotWritableAndSudoExists(): void self::assertTrue((new AddExtensionToTheIniFile())( $unwritableFilename, new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foobar'), 'foo/bar', @@ -127,7 +127,7 @@ public function testReturnsFalseWhenExistingIniCouldNotBeRead(): void self::assertFalse((new AddExtensionToTheIniFile())( $unreadableIniFile, new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foobar'), 'foo/bar', @@ -170,7 +170,7 @@ public function testReturnsFalseWhenExtensionWasAddedButPhpRuntimeDidNotLoadExte self::assertFalse((new AddExtensionToTheIniFile())( $iniFile, new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, $extensionName, 'foo/bar', @@ -207,7 +207,7 @@ public function testReturnsTrueWhenExtensionAdded(): void self::assertTrue((new AddExtensionToTheIniFile())( $iniFile, new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foobar'), 'foo/bar', @@ -250,7 +250,7 @@ public function testReturnsTrueWhenExtensionAddedWithAdditionalStep(): void self::assertTrue((new AddExtensionToTheIniFile())( $iniFile, new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foobar'), 'foo/bar', diff --git a/test/unit/Installing/Ini/PickBestSetupIniApproachTest.php b/test/unit/Installing/Ini/PickBestSetupIniApproachTest.php index ff3dd5c2..151c5cdf 100644 --- a/test/unit/Installing/Ini/PickBestSetupIniApproachTest.php +++ b/test/unit/Installing/Ini/PickBestSetupIniApproachTest.php @@ -5,7 +5,7 @@ namespace Php\PieUnitTest\Installing\Ini; use Composer\IO\BufferIO; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\Downloading\DownloadedPackage; use Php\Pie\ExtensionName; @@ -92,7 +92,7 @@ public function testVerboseMessageIsEmittedSettingUpWithoutAnyApproaches(): void $this->targetPlatform(), DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'test-vendor/test-package', @@ -127,7 +127,7 @@ public function testWorkingApproachIsUsed(): void $this->targetPlatform(), DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'test-vendor/test-package', @@ -162,7 +162,7 @@ public function testSetupFailsWhenNoApproachesWork(): void $this->targetPlatform(), DownloadedPackage::fromPackageAndExtractedPath( new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'test-vendor/test-package', diff --git a/test/unit/Installing/InstallForPhpProject/FindMatchingPackagesTest.php b/test/unit/Installing/InstallForPhpProject/FindMatchingPackagesTest.php index 583f9de8..d3032d86 100644 --- a/test/unit/Installing/InstallForPhpProject/FindMatchingPackagesTest.php +++ b/test/unit/Installing/InstallForPhpProject/FindMatchingPackagesTest.php @@ -8,6 +8,7 @@ use Composer\Config; use Composer\IO\IOInterface; use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Composer\Repository\ArrayRepository; use Composer\Repository\RepositoryManager; use Composer\Util\HttpDownloader; @@ -22,7 +23,7 @@ final class FindMatchingPackagesTest extends TestCase public function testSearchResultsAreFilteredByExtensionName(): void { $repository = new ArrayRepository([ - (static function (): CompletePackage { + (static function (): CompletePackageInterface { $package = new CompletePackage('another/bar', '1.5.0.0', '1.5.0'); $package->setDescription('These are not the extensions you are looking for'); $package->setType(ExtensionType::PhpModule->value); @@ -30,14 +31,14 @@ public function testSearchResultsAreFilteredByExtensionName(): void return $package; })(), - (static function (): CompletePackage { + (static function (): CompletePackageInterface { $package = new CompletePackage('foo/bar', '1.2.3.0', '1.2.3'); $package->setDescription('The best extension there is'); $package->setType(ExtensionType::PhpModule->value); return $package; })(), - (static function (): CompletePackage { + (static function (): CompletePackageInterface { $package = new CompletePackage('foo/bar', '2.0.0.0', '2.0.0'); $package->setDescription('The best extension there is'); $package->setType(ExtensionType::PhpModule->value); diff --git a/test/unit/Platform/WindowsExtensionAssetNameTest.php b/test/unit/Platform/WindowsExtensionAssetNameTest.php index 77a77764..446b8a3d 100644 --- a/test/unit/Platform/WindowsExtensionAssetNameTest.php +++ b/test/unit/Platform/WindowsExtensionAssetNameTest.php @@ -4,7 +4,7 @@ namespace Php\PieUnitTest\Platform; -use Composer\Package\CompletePackage; +use Composer\Package\CompletePackageInterface; use Php\Pie\DependencyResolver\Package; use Php\Pie\ExtensionName; use Php\Pie\ExtensionType; @@ -43,7 +43,7 @@ public function setUp(): void $this->phpVersion = $this->platform->phpBinaryPath->majorMinorVersion(); $this->package = new Package( - $this->createMock(CompletePackage::class), + $this->createMock(CompletePackageInterface::class), ExtensionType::PhpModule, ExtensionName::normaliseFromString('foo'), 'phpf/foo',