merge in 5.25
[civicrm-core.git] / tests / phpunit / CRM / Upgrade / FormTest.php
CommitLineData
1f180621
TO
1<?php
2
3/**
4 * Class CRM_Upgrade_FormTest
5 * @group headless
6 */
7class 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);
1f180621
TO
21 $this->assertEquals($expectMajorMinor, $actualMajorMinor, "The PHP version requirements in CRM_Upgrade_Form ($expectMajorMinor) and composer.json ($actualMajorMinor) should specify same major+minor versions.");
22 }
23
24}