<?php // EnvironmentTest.php // Created: 2021-05-02 // Updated: 2023-11-09 declare(strict_types=1); use PHPUnit\Framework\TestCase; use Index\Environment; use Index\Version; /** * @covers Environment */ final class EnvironmentTest extends TestCase { public function testEnvVars(): void { $varName = 'NDX_TEST_VAR_DO_NOT_DEFINE'; $this->assertEmpty(Environment::getVariable($varName)); Environment::setVariable($varName, 'the'); $varValue = Environment::getVariable($varName); $this->assertEquals('the', $varValue); Environment::removeVariable($varName); $this->assertEmpty(Environment::getVariable($varName)); } public function testIndexVersion(): void { $strVersion = trim(file_get_contents(__DIR__ . '/../VERSION')); $rawVersion = explode('.', $strVersion); $version = Environment::getIndexVersion(); $this->assertEquals((int)$rawVersion[0], $version->getMajor()); $this->assertEquals((int)$rawVersion[1], $version->getMinor()); $this->assertEquals((int)$rawVersion[2], $version->getPatch()); $this->assertEquals($strVersion, (string)$version); } public function testPHPAndExtVersion(): void { $version = Environment::getPHPVersion(); $extVersion = Environment::getPHPExtensionVersion('Core'); $this->assertEquals(PHP_MAJOR_VERSION, $version->getMajor()); $this->assertEquals(PHP_MINOR_VERSION, $version->getMinor()); $this->assertEquals(PHP_RELEASE_VERSION, $version->getPatch()); $this->assertTrue($version->equals($extVersion)); } // not really sure how you would test the platform and sapi functions, so i won't }