Commit | Line | Data |
---|---|---|
1f180621 TO |
1 | <?php |
2 | ||
3 | /** | |
4 | * Class CRM_Upgrade_FormTest | |
5 | * @group headless | |
6 | */ | |
7 | class CRM_Upgrade_FormTest extends CiviUnitTestCase { | |
8 | ||
9 | /** | |
10 | * "php" requirement (composer.json) should match MINIMUM_PHP_VERSION (CRM/Upgrade/Form.php). | |
11 | */ | |
12 | public function testComposerRequirementMatch() { | |
13 | global $civicrm_root; | |
14 | $composerJsonPath = "{$civicrm_root}/composer.json"; | |
15 | $this->assertFileExists($composerJsonPath); | |
16 | $composerJson = json_decode(file_get_contents($composerJsonPath), 1); | |
17 | $composerJsonRequirePhp = preg_replace(';[~^];', '', $composerJson['require']['php']); | |
18 | $actualMajorMinor = preg_replace(';^[\^]*(\d+\.\d+)\..*$;', '\1', $composerJsonRequirePhp); | |
19 | $expectMajorMinor = preg_replace(';^[\^]*(\d+\.\d+)\..*$;', '\1', \CRM_Upgrade_Form::MINIMUM_PHP_VERSION); | |
20 | $this->assertEquals($expectMajorMinor, $actualMajorMinor, "The PHP version requirements in CRM_Upgrade_Form ($expectMajorMinor) and composer.json ($actualMajorMinor) should specify same major+minor versions."); | |
21 | } | |
22 | ||
23 | } |