Skip to content

Commit 15e89db

Browse files
authored
Fix getRequiredVersion (#2)
1 parent 1e862f8 commit 15e89db

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/Version/Required.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function getRequiredVersion(): ?string
3434
}
3535

3636
foreach ($this->package->getRequiredVersions(self::ROADRUNNER_PACKAGE) as $packageVersion) {
37-
self::$cachedVersion = $this->getMinimumVersion($packageVersion, self::$cachedVersion);
37+
self::$cachedVersion = $this->getMaximumVersion($packageVersion, self::$cachedVersion);
3838
}
3939

4040
return self::$cachedVersion;
@@ -45,12 +45,12 @@ public function getRequiredVersion(): ?string
4545
* @param non-empty-string|null $previous
4646
* @return non-empty-string
4747
*/
48-
private function getMinimumVersion(string $version, ?string $previous = null): string
48+
private function getMaximumVersion(string $version, ?string $previous = null): string
4949
{
5050
if ($previous === null) {
5151
return $version;
5252
}
5353

54-
return SemverComparator::lessThan($version, $previous) ? $version : $previous;
54+
return SemverComparator::greaterThan($version, $previous) ? $version : $previous;
5555
}
5656
}

tests/src/Unit/Version/RequiredTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ protected function tearDown(): void
2121
/**
2222
* @dataProvider versionsDataProvider
2323
*/
24-
public function testGetMinimumVersion(string $version, ?string $previous, string $expected): void
24+
public function testGetMaximumVersion(string $version, ?string $previous, string $expected): void
2525
{
2626
$required = new Required();
27-
$ref = new \ReflectionMethod($required, 'getMinimumVersion');
27+
$ref = new \ReflectionMethod($required, 'getMaximumVersion');
2828
$ref->setAccessible(true);
2929

3030
$this->assertSame($expected, $ref->invoke($required, $version, $previous));
@@ -41,7 +41,7 @@ public function testGetRequiredVersion(): void
4141

4242
$required = new Required($package);
4343

44-
$this->assertSame('1.0', $required->getRequiredVersion());
44+
$this->assertSame('2.0.0.0-dev', $required->getRequiredVersion());
4545
}
4646

4747
public function testGetCachedVersion(): void
@@ -66,15 +66,15 @@ public static function versionsDataProvider(): \Traversable
6666
yield ['1.0.0', null, '1.0.0'];
6767

6868
// Test case with $version < $previous
69-
yield ['1.0.0', '2.0.0', '1.0.0'];
70-
yield ['1.0.0-alpha', '1.0.0', '1.0.0-alpha'];
69+
yield ['1.0.0', '2.0.0', '2.0.0'];
70+
yield ['1.0.0-alpha', '1.0.0', '1.0.0'];
7171

7272
// Test case with $version >= $previous
73-
yield ['2.0.0', '1.0.0', '1.0.0'];
74-
yield ['1.0.0', '1.0.0-alpha', '1.0.0-alpha'];
73+
yield ['2.0.0', '1.0.0', '2.0.0'];
74+
yield ['1.0.0', '1.0.0-alpha', '1.0.0'];
7575
yield ['1.0.0', '1.0.0', '1.0.0'];
7676

77-
yield ['1.0.0.0', '1.1.0', '1.0.0.0'];
78-
yield ['1.0.0.0-dev', '1.0.0.0', '1.0.0.0-dev'];
77+
yield ['1.0.0.0', '1.1.0', '1.1.0'];
78+
yield ['1.0.0.0-dev', '1.0.0.0', '1.0.0.0'];
7979
}
8080
}

0 commit comments

Comments
 (0)