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 | /** | |
243b25d9 AH |
10 | * "php" requirement (composer.json) should match |
11 | * CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER. | |
1f180621 TO |
12 | */ |
13 | public function testComposerRequirementMatch() { | |
14 | global $civicrm_root; | |
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); | |
f955c30c | 20 | $expectMajorMinor = preg_replace(';^(\d+\.\d+)\..*$;', '\1', \CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER); |
d6e906e0 | 21 | $this->assertStringContainsString($expectMajorMinor, $actualMajorMinor, "The PHP version requirements in CRM_Upgrade_Form ($expectMajorMinor) and composer.json ($actualMajorMinor) should specify same major+minor versions."); |
1f180621 TO |
22 | } |
23 | ||
24 | } |