diff --git a/src/Module/Repository/Collection/AssetsCollection.php b/src/Module/Repository/Collection/AssetsCollection.php index eebaf82..e25637b 100644 --- a/src/Module/Repository/Collection/AssetsCollection.php +++ b/src/Module/Repository/Collection/AssetsCollection.php @@ -44,11 +44,16 @@ public function whereOperatingSystem(OperatingSystem $os): self public function whereFileExtensions(array $extensions): self { return $this->filter( - static fn(AssetInterface $asset): bool => \in_array( - \pathinfo($asset->getName(), \PATHINFO_EXTENSION), - $extensions, - true, - ), + static function (AssetInterface $asset) use ($extensions): bool { + $assetName = \strtolower($asset->getName()); + foreach ($extensions as $extension) { + if (\str_ends_with($assetName, '.' . $extension)) { + return true; + } + } + + return false; + }, ); } diff --git a/tests/Unit/Module/Common/ArchitectureTest.php b/tests/Unit/Module/Common/ArchitectureTest.php index 128fd43..4d93785 100644 --- a/tests/Unit/Module/Common/ArchitectureTest.php +++ b/tests/Unit/Module/Common/ArchitectureTest.php @@ -17,6 +17,7 @@ public static function provideBuildNames(): iterable yield ['temporal_cli_0.13.2_windows_aaamd64.tar.gz', null]; yield ['temporal_cli_0.13.2_windows.amd644.tar.gz', null]; yield ['roadrunner-2024.1.5-windows.zip', null]; + yield ['roadrunner-2024.1.5-linux-amd64.deb', Architecture::X86_64]; } #[DataProvider('provideBuildNames')] diff --git a/tests/Unit/Module/Common/OperatingSystemTest.php b/tests/Unit/Module/Common/OperatingSystemTest.php new file mode 100644 index 0000000..df57379 --- /dev/null +++ b/tests/Unit/Module/Common/OperatingSystemTest.php @@ -0,0 +1,27 @@ +