1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-10 09:02:59 +00:00

Fix handling of COMPOSER_ROOT_VERSION to normalize according to expectations, fixes #12101 (#12109)

This commit is contained in:
Jordi Boggiano 2024-09-17 08:38:43 +02:00 committed by GitHub
parent 5f2b91aea8
commit 1b5b56f234
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 41 additions and 2 deletions

View file

@ -17,6 +17,7 @@ use Composer\Package\Version\VersionGuesser;
use Composer\Semver\VersionParser;
use Composer\Test\TestCase;
use Composer\Util\Git as GitUtil;
use Composer\Util\Platform;
use Composer\Util\ProcessExecutor;
class VersionGuesserTest extends TestCase
@ -365,4 +366,29 @@ class VersionGuesserTest extends TestCase
self::assertEquals("1.5.x-dev", $versionData['pretty_version']);
self::assertEquals("1.5.9999999.9999999-dev", $versionData['version']);
}
/**
* @dataProvider rootEnvVersionsProvider
*/
public function testGetRootVersionFromEnv(string $env, string $expectedVersion): void
{
Platform::putEnv('COMPOSER_ROOT_VERSION', $env);
$guesser = new VersionGuesser(new Config, $this->getProcessExecutorMock(), new VersionParser());
self::assertSame($expectedVersion, $guesser->getRootVersionFromEnv());
Platform::clearEnv('COMPOSER_ROOT_VERSION');
}
/**
* @return array<array{string, string}>
*/
public function rootEnvVersionsProvider(): array
{
return [
['1.0-dev', '1.0.x-dev'],
['1.0.x-dev', '1.0.x-dev'],
['1-dev', '1.x-dev'],
['1.x-dev', '1.x-dev'],
['1.0.0', '1.0.0'],
];
}
}