4 * Class CRM_Upgrade_FormTest
7 class CRM_Upgrade_FormTest
extends CiviUnitTestCase
{
10 * "php" requirement (composer.json) should match
11 * CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER.
13 public function testComposerRequirementMatch() {
15 $composerJsonPath = "{$civicrm_root}/composer.json";
16 $this->assertFileExists($composerJsonPath);
17 $composerJson = json_decode(file_get_contents($composerJsonPath), 1);
18 $composerJsonRequirePhp = preg_replace(';[~^];', '', $composerJson['require']['php']);
19 $actualMajorMinor = preg_replace(';^[\^]*(\d+\.\d+)\..*$;', '\1', $composerJsonRequirePhp);
20 $expectMajorMinor = preg_replace(';^(\d+\.\d+)\..*$;', '\1', \CRM_Upgrade_Incremental_General
::MIN_INSTALL_PHP_VER
);
21 $this->assertStringContainsString($expectMajorMinor, $actualMajorMinor, "The PHP version requirements in CRM_Upgrade_Form ($expectMajorMinor) and composer.json ($actualMajorMinor) should specify same major+minor versions.");