gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

SnapshotTest.php (4122B)


      1 <?php
      2 /*
      3  * This file is part of the GlobalState package.
      4  *
      5  * (c) Sebastian Bergmann <sebastian@phpunit.de>
      6  *
      7  * For the full copyright and license information, please view the LICENSE
      8  * file that was distributed with this source code.
      9  */
     10 
     11 namespace SebastianBergmann\GlobalState;
     12 
     13 use ArrayObject;
     14 use PHPUnit_Framework_TestCase;
     15 use SebastianBergmann\GlobalState\TestFixture\SnapshotClass;
     16 
     17 /**
     18  */
     19 class SnapshotTest extends PHPUnit_Framework_TestCase
     20 {
     21     public function testStaticAttributes()
     22     {
     23         $blacklist = $this->getBlacklist();
     24         $blacklist->method('isStaticAttributeBlacklisted')->willReturnCallback(function ($class) {
     25             return $class !== 'SebastianBergmann\GlobalState\TestFixture\SnapshotClass';
     26         });
     27 
     28         SnapshotClass::init();
     29 
     30         $snapshot = new Snapshot($blacklist, false, true, false, false, false, false, false, false, false);
     31         $expected = array('SebastianBergmann\GlobalState\TestFixture\SnapshotClass' => array(
     32             'string' => 'snapshot',
     33             'arrayObject' => new ArrayObject(array(1, 2, 3)),
     34             'stdClass' => new \stdClass(),
     35         ));
     36 
     37         $this->assertEquals($expected, $snapshot->staticAttributes());
     38     }
     39 
     40     public function testConstants()
     41     {
     42         $snapshot = new Snapshot($this->getBlacklist(), false, false, true, false, false, false, false, false, false);
     43         $this->assertArrayHasKey('GLOBALSTATE_TESTSUITE', $snapshot->constants());
     44     }
     45 
     46     public function testFunctions()
     47     {
     48         require_once __DIR__.'/_fixture/SnapshotFunctions.php';
     49 
     50         $snapshot = new Snapshot($this->getBlacklist(), false, false, false, true, false, false, false, false, false);
     51         $functions = $snapshot->functions();
     52 
     53         $this->assertThat(
     54             $functions,
     55             $this->logicalOr(
     56                 // Zend
     57                 $this->contains('sebastianbergmann\globalstate\testfixture\snapshotfunction'),
     58                 // HHVM
     59                 $this->contains('SebastianBergmann\GlobalState\TestFixture\snapshotFunction')
     60             )
     61         );
     62 
     63         $this->assertNotContains('assert', $functions);
     64     }
     65 
     66     public function testClasses()
     67     {
     68         $snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, true, false, false, false, false);
     69         $classes = $snapshot->classes();
     70 
     71         $this->assertContains('PHPUnit_Framework_TestCase', $classes);
     72         $this->assertNotContains('Exception', $classes);
     73     }
     74 
     75     public function testInterfaces()
     76     {
     77         $snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, false, true, false, false, false);
     78         $interfaces = $snapshot->interfaces();
     79 
     80         $this->assertContains('PHPUnit_Framework_Test', $interfaces);
     81         $this->assertNotContains('Countable', $interfaces);
     82     }
     83 
     84     /**
     85      * @requires PHP 5.4
     86      */
     87     public function testTraits()
     88     {
     89         spl_autoload_call('SebastianBergmann\GlobalState\TestFixture\SnapshotTrait');
     90 
     91         $snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, false, false, true, false, false);
     92         $this->assertContains('SebastianBergmann\GlobalState\TestFixture\SnapshotTrait', $snapshot->traits());
     93     }
     94 
     95     public function testIniSettings()
     96     {
     97         $snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, false, false, false, true, false);
     98         $iniSettings = $snapshot->iniSettings();
     99 
    100         $this->assertArrayHasKey('date.timezone', $iniSettings);
    101         $this->assertEquals('Etc/UTC', $iniSettings['date.timezone']);
    102     }
    103 
    104     public function testIncludedFiles()
    105     {
    106         $snapshot = new Snapshot($this->getBlacklist(), false, false, false, false, false, false, false, false, true);
    107         $this->assertContains(__FILE__, $snapshot->includedFiles());
    108     }
    109 
    110     /**
    111      * @return \SebastianBergmann\GlobalState\Blacklist
    112      */
    113     private function getBlacklist()
    114     {
    115         return $this->getMockBuilder('SebastianBergmann\GlobalState\Blacklist')
    116                     ->disableOriginalConstructor()
    117                     ->getMock();
    118     }
    119 }