radarrplexorganizrnginxsonarrdashboardheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbd
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.7 KiB
117 lines
3.7 KiB
7 years ago
|
<?php
|
||
|
/*
|
||
|
* This file is part of sebastian/global-state.
|
||
|
*
|
||
|
* (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.
|
||
|
*/
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace SebastianBergmann\GlobalState;
|
||
|
|
||
|
use ArrayObject;
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
use SebastianBergmann\GlobalState\TestFixture\BlacklistedInterface;
|
||
|
use SebastianBergmann\GlobalState\TestFixture\SnapshotClass;
|
||
|
use SebastianBergmann\GlobalState\TestFixture\SnapshotTrait;
|
||
|
|
||
|
/**
|
||
|
* @covers \SebastianBergmann\GlobalState\Snapshot
|
||
|
*/
|
||
|
class SnapshotTest extends TestCase
|
||
|
{
|
||
|
/**
|
||
|
* @var Blacklist
|
||
|
*/
|
||
|
private $blacklist;
|
||
|
|
||
|
protected function setUp()
|
||
|
{
|
||
|
$this->blacklist = $this->createMock(Blacklist::class);
|
||
|
}
|
||
|
|
||
|
public function testStaticAttributes()
|
||
|
{
|
||
|
$this->blacklist->method('isStaticAttributeBlacklisted')->willReturnCallback(
|
||
|
function ($class) {
|
||
|
return $class !== SnapshotClass::class;
|
||
|
}
|
||
|
);
|
||
|
|
||
|
SnapshotClass::init();
|
||
|
|
||
|
$snapshot = new Snapshot($this->blacklist, false, true, false, false, false, false, false, false, false);
|
||
|
|
||
|
$expected = [
|
||
|
SnapshotClass::class => [
|
||
|
'string' => 'snapshot',
|
||
|
'arrayObject' => new ArrayObject([1, 2, 3]),
|
||
|
'stdClass' => new \stdClass(),
|
||
|
]
|
||
|
];
|
||
|
|
||
|
$this->assertEquals($expected, $snapshot->staticAttributes());
|
||
|
}
|
||
|
|
||
|
public function testConstants()
|
||
|
{
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, true, false, false, false, false, false, false);
|
||
|
|
||
|
$this->assertArrayHasKey('GLOBALSTATE_TESTSUITE', $snapshot->constants());
|
||
|
}
|
||
|
|
||
|
public function testFunctions()
|
||
|
{
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, false, true, false, false, false, false, false);
|
||
|
$functions = $snapshot->functions();
|
||
|
|
||
|
$this->assertContains('sebastianbergmann\globalstate\testfixture\snapshotfunction', $functions);
|
||
|
$this->assertNotContains('assert', $functions);
|
||
|
}
|
||
|
|
||
|
public function testClasses()
|
||
|
{
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, false, false, true, false, false, false, false);
|
||
|
$classes = $snapshot->classes();
|
||
|
|
||
|
$this->assertContains(TestCase::class, $classes);
|
||
|
$this->assertNotContains(Exception::class, $classes);
|
||
|
}
|
||
|
|
||
|
public function testInterfaces()
|
||
|
{
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, false, false, false, true, false, false, false);
|
||
|
$interfaces = $snapshot->interfaces();
|
||
|
|
||
|
$this->assertContains(BlacklistedInterface::class, $interfaces);
|
||
|
$this->assertNotContains(\Countable::class, $interfaces);
|
||
|
}
|
||
|
|
||
|
public function testTraits()
|
||
|
{
|
||
|
\spl_autoload_call('SebastianBergmann\GlobalState\TestFixture\SnapshotTrait');
|
||
|
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, false, false, false, false, true, false, false);
|
||
|
|
||
|
$this->assertContains(SnapshotTrait::class, $snapshot->traits());
|
||
|
}
|
||
|
|
||
|
public function testIniSettings()
|
||
|
{
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, false, false, false, false, false, true, false);
|
||
|
$iniSettings = $snapshot->iniSettings();
|
||
|
|
||
|
$this->assertArrayHasKey('date.timezone', $iniSettings);
|
||
|
$this->assertEquals('Etc/UTC', $iniSettings['date.timezone']);
|
||
|
}
|
||
|
|
||
|
public function testIncludedFiles()
|
||
|
{
|
||
|
$snapshot = new Snapshot($this->blacklist, false, false, false, false, false, false, false, false, true);
|
||
|
$this->assertContains(__FILE__, $snapshot->includedFiles());
|
||
|
}
|
||
|
}
|