Skip to content

Commit

Permalink
Change config key versionFilter to versionsGreaterThan
Browse files Browse the repository at this point in the history
  • Loading branch information
SenseException committed Apr 23, 2024
1 parent 03f945f commit 212462d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 11 deletions.
2 changes: 1 addition & 1 deletion config/data/projects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ parameters:
- repositoryName: data-fixtures
-
repositoryName: dbal
versionFilter: "/^[3-9]\\.[0-9]+/"
versionsGreaterThan: "2.99.0"

- repositoryName: doctrine1
- repositoryName: event-manager
Expand Down
5 changes: 3 additions & 2 deletions lib/Hydrators/ProjectHydrator.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Doctrine\Website\Model\ProjectStats;
use Doctrine\Website\Model\ProjectVersion;

use function preg_match;
use function version_compare;

/**
* @property bool $active
Expand Down Expand Up @@ -70,7 +70,8 @@ protected function doHydrate(array $data): void
? $version
: new ProjectVersion($version);

if (isset($data['versionFilter']) && preg_match($data['versionFilter'], $projectVersion->getName()) !== 1) {
$tagVersion = $projectVersion->getLatestTag()?->getName();
if (isset($data['versionsGreaterThan']) && $tagVersion !== null && version_compare($data['versionsGreaterThan'], $tagVersion, '>')) {
continue;
}

Expand Down
13 changes: 5 additions & 8 deletions tests/Hydrators/ProjectHydratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -165,21 +165,18 @@ public function testHydrateWithFilter(): void
'name' => 'name',
'slug' => 'slug',
'repositoryName' => 'repositoryName',
'versionFilter' => '/^2\.0/',
'versionsGreaterThan' => '1.99.0',
'versions' => [
['name' => '1.0.0'],
new ProjectVersion(['name' => '2.0.0']),
['name' => '1.0.0', 'tags' => [['name' => '1.0.0', 'date' => '2024-10-10']]],
new ProjectVersion(['name' => '2.0.0', 'tags' => [['name' => '2.0.0', 'date' => '2024-10-10']]]),
],
];

$expected = [
new ProjectVersion(['name' => '2.0.0']),
];

$project = new Project();

$hydrator->hydrate($project, $propertyValues);

self::assertEquals($expected, $project->getVersions());
self::assertCount(1, $project->getVersions());
self::assertEquals('2.0.0', $project->getVersions()[0]->getLatestTag()?->getName());
}
}

0 comments on commit 212462d

Please sign in to comment.