Vendor lock

This commit is contained in:
2023-06-16 02:08:47 +00:00
parent 7933e70e90
commit 3351b92dd6
4099 changed files with 345789 additions and 0 deletions

View File

@ -0,0 +1,64 @@
<?php declare(strict_types=1);
/*
* This file is part of sebastian/environment.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SebastianBergmann\Environment;
use PHPUnit\Framework\TestCase;
/**
* @covers \SebastianBergmann\Environment\Console
*/
final class ConsoleTest extends TestCase
{
/**
* @var \SebastianBergmann\Environment\Console
*/
private $console;
protected function setUp(): void
{
$this->console = new Console;
}
/**
* @todo Now that this component is PHP 7-only and uses return type declarations
* this test makes even less sense than before
*/
public function testCanDetectIfStdoutIsInteractiveByDefault(): void
{
$this->assertIsBool($this->console->isInteractive());
}
/**
* @todo Now that this component is PHP 7-only and uses return type declarations
* this test makes even less sense than before
*/
public function testCanDetectIfFileDescriptorIsInteractive(): void
{
$this->assertIsBool($this->console->isInteractive(\STDOUT));
}
/**
* @todo Now that this component is PHP 7-only and uses return type declarations
* this test makes even less sense than before
*/
public function testCanDetectColorSupport(): void
{
$this->assertIsBool($this->console->hasColorSupport());
}
/**
* @todo Now that this component is PHP 7-only and uses return type declarations
* this test makes even less sense than before
*/
public function testCanDetectNumberOfColumns(): void
{
$this->assertIsInt($this->console->getNumberOfColumns());
}
}

View File

@ -0,0 +1,60 @@
<?php declare(strict_types=1);
/*
* This file is part of sebastian/environment.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SebastianBergmann\Environment;
use PHPUnit\Framework\TestCase;
/**
* @covers \SebastianBergmann\Environment\OperatingSystem
*/
final class OperatingSystemTest extends TestCase
{
/**
* @var \SebastianBergmann\Environment\OperatingSystem
*/
private $os;
protected function setUp(): void
{
$this->os = new OperatingSystem;
}
/**
* @requires OS Linux
*/
public function testFamilyCanBeRetrieved(): void
{
$this->assertEquals('Linux', $this->os->getFamily());
}
/**
* @requires OS Darwin
*/
public function testFamilyReturnsDarwinWhenRunningOnDarwin(): void
{
$this->assertEquals('Darwin', $this->os->getFamily());
}
/**
* @requires OS Windows
*/
public function testGetFamilyReturnsWindowsWhenRunningOnWindows(): void
{
$this->assertSame('Windows', $this->os->getFamily());
}
/**
* @requires PHP 7.2.0
*/
public function testGetFamilyReturnsPhpOsFamilyWhenRunningOnPhp72AndGreater(): void
{
$this->assertSame(\PHP_OS_FAMILY, $this->os->getFamily());
}
}

View File

@ -0,0 +1,165 @@
<?php declare(strict_types=1);
/*
* This file is part of sebastian/environment.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SebastianBergmann\Environment;
use PHPUnit\Framework\TestCase;
/**
* @covers \SebastianBergmann\Environment\Runtime
*/
final class RuntimeTest extends TestCase
{
/**
* @var \SebastianBergmann\Environment\Runtime
*/
private $env;
protected function setUp(): void
{
$this->env = new Runtime;
}
/**
* @requires extension xdebug
*/
public function testCanCollectCodeCoverageWhenXdebugExtensionIsEnabled(): void
{
$this->assertTrue($this->env->canCollectCodeCoverage());
}
/**
* @requires extension pcov
*/
public function testCanCollectCodeCoverageWhenPcovExtensionIsEnabled(): void
{
$this->assertTrue($this->env->canCollectCodeCoverage());
}
public function testCanCollectCodeCoverageWhenRunningOnPhpdbg(): void
{
$this->markTestSkippedWhenNotRunningOnPhpdbg();
$this->assertTrue($this->env->canCollectCodeCoverage());
}
public function testBinaryCanBeRetrieved(): void
{
$this->assertNotEmpty($this->env->getBinary());
}
/**
* @requires PHP
*/
public function testIsHhvmReturnsFalseWhenRunningOnPhp(): void
{
$this->assertFalse($this->env->isHHVM());
}
/**
* @requires PHP
*/
public function testIsPhpReturnsTrueWhenRunningOnPhp(): void
{
$this->markTestSkippedWhenRunningOnPhpdbg();
$this->assertTrue($this->env->isPHP());
}
/**
* @requires extension pcov
*/
public function testPCOVCanBeDetected(): void
{
$this->assertTrue($this->env->hasPCOV());
}
public function testPhpdbgCanBeDetected(): void
{
$this->markTestSkippedWhenNotRunningOnPhpdbg();
$this->assertTrue($this->env->hasPHPDBGCodeCoverage());
}
/**
* @requires extension xdebug
*/
public function testXdebugCanBeDetected(): void
{
$this->markTestSkippedWhenRunningOnPhpdbg();
$this->assertTrue($this->env->hasXdebug());
}
public function testNameAndVersionCanBeRetrieved(): void
{
$this->assertNotEmpty($this->env->getNameWithVersion());
}
public function testGetNameReturnsPhpdbgWhenRunningOnPhpdbg(): void
{
$this->markTestSkippedWhenNotRunningOnPhpdbg();
$this->assertSame('PHPDBG', $this->env->getName());
}
/**
* @requires PHP
*/
public function testGetNameReturnsPhpdbgWhenRunningOnPhp(): void
{
$this->markTestSkippedWhenRunningOnPhpdbg();
$this->assertSame('PHP', $this->env->getName());
}
public function testNameAndCodeCoverageDriverCanBeRetrieved(): void
{
$this->assertNotEmpty($this->env->getNameWithVersionAndCodeCoverageDriver());
}
/**
* @requires PHP
*/
public function testGetVersionReturnsPhpVersionWhenRunningPhp(): void
{
$this->assertSame(\PHP_VERSION, $this->env->getVersion());
}
/**
* @requires PHP
*/
public function testGetVendorUrlReturnsPhpDotNetWhenRunningPhp(): void
{
$this->assertSame('https://secure.php.net/', $this->env->getVendorUrl());
}
private function markTestSkippedWhenNotRunningOnPhpdbg(): void
{
if ($this->isRunningOnPhpdbg()) {
return;
}
$this->markTestSkipped('PHPDBG is required.');
}
private function markTestSkippedWhenRunningOnPhpdbg(): void
{
if (!$this->isRunningOnPhpdbg()) {
return;
}
$this->markTestSkipped('Cannot run on PHPDBG');
}
private function isRunningOnPhpdbg(): bool
{
return \PHP_SAPI === 'phpdbg';
}
}