From 5a02ea6a9622476a63515f34b1b2ef26c05ac405 Mon Sep 17 00:00:00 2001 From: Lars Strojny Date: Thu, 30 Jul 2020 14:29:48 +0200 Subject: [PATCH] Check that class exists --- src/Composer/Repository/PlatformRepository.php | 8 +++++--- tests/Composer/Test/Repository/PlatformRepositoryTest.php | 7 +++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Composer/Repository/PlatformRepository.php b/src/Composer/Repository/PlatformRepository.php index 848576aa3..5d240fa9c 100644 --- a/src/Composer/Repository/PlatformRepository.php +++ b/src/Composer/Repository/PlatformRepository.php @@ -154,9 +154,11 @@ class PlatformRepository extends ArrayRepository break; case 'intl': - # Add a seperate version for the CLDR library version - $cldrVersion = \ResourceBundle::create('root', 'ICUDATA-curr', false)->get('Version'); - $this->addLibrary('cldr', 'The unicode CLDR project', $cldrVersion); + if (class_exists('ResourceBundle', false)) { + # Add a seperate version for the CLDR library version + $cldrVersion = \ResourceBundle::create('root', 'ICUDATA-curr', false)->get('Version'); + $this->addLibrary('cldr', 'The unicode CLDR project', $cldrVersion); + } $name = 'icu'; $description = 'The ICU unicode and globalization support library'; diff --git a/tests/Composer/Test/Repository/PlatformRepositoryTest.php b/tests/Composer/Test/Repository/PlatformRepositoryTest.php index 20dd295fc..e254720fb 100644 --- a/tests/Composer/Test/Repository/PlatformRepositoryTest.php +++ b/tests/Composer/Test/Repository/PlatformRepositoryTest.php @@ -69,12 +69,15 @@ class PlatformRepositoryTest extends TestCase { $this->assertSame('4.0.1.0-dev', $package->getVersion()); } - public function testICULibraryVersion() - { + public function testICULibraryVersion() { if (!defined('INTL_ICU_VERSION')) { $this->markTestSkipped('Test only work with ext-intl present'); } + if (!class_exists('ResourceBundle', false)) { + $this->markTestSkipped('Test only work with ResourceBundle class present'); + } + $platformRepository = new PlatformRepository(); $packages = $platformRepository->getPackages();