first commit
This commit is contained in:
113
vendor/sebastian/global-state/tests/BlacklistTest.php
vendored
Normal file
113
vendor/sebastian/global-state/tests/BlacklistTest.php
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState;
|
||||
|
||||
use PHPUnit_Framework_TestCase;
|
||||
|
||||
/**
|
||||
*/
|
||||
class BlacklistTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @var \SebastianBergmann\GlobalState\Blacklist
|
||||
*/
|
||||
private $blacklist;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
$this->blacklist = new Blacklist;
|
||||
}
|
||||
|
||||
public function testGlobalVariableThatIsNotBlacklistedIsNotTreatedAsBlacklisted()
|
||||
{
|
||||
$this->assertFalse($this->blacklist->isGlobalVariableBlacklisted('variable'));
|
||||
}
|
||||
|
||||
public function testGlobalVariableCanBeBlacklisted()
|
||||
{
|
||||
$this->blacklist->addGlobalVariable('variable');
|
||||
|
||||
$this->assertTrue($this->blacklist->isGlobalVariableBlacklisted('variable'));
|
||||
}
|
||||
|
||||
public function testStaticAttributeThatIsNotBlacklistedIsNotTreatedAsBlacklisted()
|
||||
{
|
||||
$this->assertFalse(
|
||||
$this->blacklist->isStaticAttributeBlacklisted(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
|
||||
'attribute'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function testClassCanBeBlacklisted()
|
||||
{
|
||||
$this->blacklist->addClass('SebastianBergmann\GlobalState\TestFixture\BlacklistedClass');
|
||||
|
||||
$this->assertTrue(
|
||||
$this->blacklist->isStaticAttributeBlacklisted(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
|
||||
'attribute'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function testSubclassesCanBeBlacklisted()
|
||||
{
|
||||
$this->blacklist->addSubclassesOf('SebastianBergmann\GlobalState\TestFixture\BlacklistedClass');
|
||||
|
||||
$this->assertTrue(
|
||||
$this->blacklist->isStaticAttributeBlacklisted(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedChildClass',
|
||||
'attribute'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function testImplementorsCanBeBlacklisted()
|
||||
{
|
||||
$this->blacklist->addImplementorsOf('SebastianBergmann\GlobalState\TestFixture\BlacklistedInterface');
|
||||
|
||||
$this->assertTrue(
|
||||
$this->blacklist->isStaticAttributeBlacklisted(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedImplementor',
|
||||
'attribute'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function testClassNamePrefixesCanBeBlacklisted()
|
||||
{
|
||||
$this->blacklist->addClassNamePrefix('SebastianBergmann\GlobalState');
|
||||
|
||||
$this->assertTrue(
|
||||
$this->blacklist->isStaticAttributeBlacklisted(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
|
||||
'attribute'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function testStaticAttributeCanBeBlacklisted()
|
||||
{
|
||||
$this->blacklist->addStaticAttribute(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
|
||||
'attribute'
|
||||
);
|
||||
|
||||
$this->assertTrue(
|
||||
$this->blacklist->isStaticAttributeBlacklisted(
|
||||
'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
|
||||
'attribute'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
119
vendor/sebastian/global-state/tests/SnapshotTest.php
vendored
Normal file
119
vendor/sebastian/global-state/tests/SnapshotTest.php
vendored
Normal file
@ -0,0 +1,119 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState;
|
||||
|
||||
use ArrayObject;
|
||||
use PHPUnit_Framework_TestCase;
|
||||
use SebastianBergmann\GlobalState\TestFixture\SnapshotClass;
|
||||
|
||||
/**
|
||||
*/
|
||||
class SnapshotTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testStaticAttributes()
|
||||
{
|
||||
$blacklist = $this->getBlacklist();
|
||||
$blacklist->method('isStaticAttributeBlacklisted')->willReturnCallback(function ($class) {
|
||||
return $class !== 'SebastianBergmann\GlobalState\TestFixture\SnapshotClass';
|
||||
});
|
||||
|
||||
SnapshotClass::init();
|
||||
|
||||
$snapshot = new Snapshot($blacklist, false, true, false, false, false, false, false, false, false);
|
||||
$expected = array('SebastianBergmann\GlobalState\TestFixture\SnapshotClass' => array(
|
||||
'string' => 'snapshot',
|
||||
'arrayObject' => new ArrayObject(array(1, 2, 3)),
|
||||
'stdClass' => new \stdClass(),
|
||||
));
|
||||
|
||||
$this->assertEquals($expected, $snapshot->staticAttributes());
|
||||
}
|
||||
|
||||
public function testConstants()
|
||||
{
|
||||
$snapshot = new Snapshot($this->getBlacklist(), false, false, true, false, false, false, false, false, false);
|
||||
$this->assertArrayHasKey('GLOBALSTATE_TESTSUITE', $snapshot->constants());
|
||||
}
|
||||
|
||||
public function testFunctions()
|
||||
{
|
||||
require_once __DIR__.'/_fixture/SnapshotFunctions.php';
|
||||
|
||||
$snapshot = new Snapshot($this->getBlacklist(), false, false, false, true, false, false, false, false, false);
|
||||
$functions = $snapshot->functions();
|
||||
|
||||
$this->assertThat(
|
||||
$functions,
|
||||
$this->logicalOr(
|
||||
// Zend
|
||||
$this->contains('sebastianbergmann\globalstate\testfixture\snapshotfunction'),
|
||||
// HHVM
|
||||
$this->contains('SebastianBergmann\GlobalState\TestFixture\snapshotFunction')
|
||||
)
|
||||
);
|
||||
|
||||
$this->assertNotContains('assert', $functions);
|
||||
}
|
||||
|
||||
public function testClasses()
|
||||
{
|
||||
$snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, true, false, false, false, false);
|
||||
$classes = $snapshot->classes();
|
||||
|
||||
$this->assertContains('PHPUnit_Framework_TestCase', $classes);
|
||||
$this->assertNotContains('Exception', $classes);
|
||||
}
|
||||
|
||||
public function testInterfaces()
|
||||
{
|
||||
$snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, false, true, false, false, false);
|
||||
$interfaces = $snapshot->interfaces();
|
||||
|
||||
$this->assertContains('PHPUnit_Framework_Test', $interfaces);
|
||||
$this->assertNotContains('Countable', $interfaces);
|
||||
}
|
||||
|
||||
/**
|
||||
* @requires PHP 5.4
|
||||
*/
|
||||
public function testTraits()
|
||||
{
|
||||
spl_autoload_call('SebastianBergmann\GlobalState\TestFixture\SnapshotTrait');
|
||||
|
||||
$snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, false, false, true, false, false);
|
||||
$this->assertContains('SebastianBergmann\GlobalState\TestFixture\SnapshotTrait', $snapshot->traits());
|
||||
}
|
||||
|
||||
public function testIniSettings()
|
||||
{
|
||||
$snapshot = new Snapshot($this->getBlacklist(), 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->getBlacklist(), false, false, false, false, false, false, false, false, true);
|
||||
$this->assertContains(__FILE__, $snapshot->includedFiles());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \SebastianBergmann\GlobalState\Blacklist
|
||||
*/
|
||||
private function getBlacklist()
|
||||
{
|
||||
return $this->getMockBuilder('SebastianBergmann\GlobalState\Blacklist')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
}
|
||||
}
|
17
vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
vendored
Normal file
17
vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
/**
|
||||
*/
|
||||
class BlacklistedChildClass extends BlacklistedClass
|
||||
{
|
||||
}
|
18
vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
vendored
Normal file
18
vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
/**
|
||||
*/
|
||||
class BlacklistedClass
|
||||
{
|
||||
private static $attribute;
|
||||
}
|
18
vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
vendored
Normal file
18
vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
/**
|
||||
*/
|
||||
class BlacklistedImplementor implements BlacklistedInterface
|
||||
{
|
||||
private static $attribute;
|
||||
}
|
17
vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
vendored
Normal file
17
vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
/**
|
||||
*/
|
||||
interface BlacklistedInterface
|
||||
{
|
||||
}
|
37
vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php
vendored
Normal file
37
vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
use DomDocument;
|
||||
use ArrayObject;
|
||||
|
||||
/**
|
||||
*/
|
||||
class SnapshotClass
|
||||
{
|
||||
private static $string = 'snapshot';
|
||||
private static $dom;
|
||||
private static $closure;
|
||||
private static $arrayObject;
|
||||
private static $snapshotDomDocument;
|
||||
private static $resource;
|
||||
private static $stdClass;
|
||||
|
||||
public static function init()
|
||||
{
|
||||
self::$dom = new DomDocument();
|
||||
self::$closure = function () {};
|
||||
self::$arrayObject = new ArrayObject(array(1, 2, 3));
|
||||
self::$snapshotDomDocument = new SnapshotDomDocument();
|
||||
self::$resource = fopen('php://memory', 'r');
|
||||
self::$stdClass = new \stdClass();
|
||||
}
|
||||
}
|
19
vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php
vendored
Normal file
19
vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
use DomDocument;
|
||||
|
||||
/**
|
||||
*/
|
||||
class SnapshotDomDocument extends DomDocument
|
||||
{
|
||||
}
|
15
vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php
vendored
Normal file
15
vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
function snapshotFunction()
|
||||
{
|
||||
}
|
17
vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php
vendored
Normal file
17
vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the GlobalState package.
|
||||
*
|
||||
* (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\GlobalState\TestFixture;
|
||||
|
||||
/**
|
||||
*/
|
||||
trait SnapshotTrait
|
||||
{
|
||||
}
|
Reference in New Issue
Block a user