public static function PHPUnit_Util_GlobalState::backupStaticAttributes

1 call to PHPUnit_Util_GlobalState::backupStaticAttributes()
PHPUnit_Framework_TestCase::runBare in drupal/core/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php
Runs the bare test sequence.

File

drupal/core/vendor/phpunit/phpunit/PHPUnit/Util/GlobalState.php, line 286

Class

PHPUnit_Util_GlobalState
@package PHPUnit @subpackage Util @author Sebastian Bergmann <sebastian@phpunit.de> @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de> @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause…

Code

public static function backupStaticAttributes(array $blacklist) {
  self::$staticAttributes = array();
  $declaredClasses = get_declared_classes();
  $declaredClassesNum = count($declaredClasses);
  for ($i = $declaredClassesNum - 1; $i >= 0; $i--) {
    if (strpos($declaredClasses[$i], 'PHPUnit') !== 0 && strpos($declaredClasses[$i], 'File_Iterator') !== 0 && strpos($declaredClasses[$i], 'PHP_CodeCoverage') !== 0 && strpos($declaredClasses[$i], 'PHP_Invoker') !== 0 && strpos($declaredClasses[$i], 'PHP_Timer') !== 0 && strpos($declaredClasses[$i], 'PHP_TokenStream') !== 0 && strpos($declaredClasses[$i], 'Symfony') !== 0 && strpos($declaredClasses[$i], 'Text_Template') !== 0 && !$declaredClasses[$i] instanceof PHPUnit_Framework_Test) {
      $class = new ReflectionClass($declaredClasses[$i]);
      if (!$class
        ->isUserDefined()) {
        break;
      }
      $backup = array();
      foreach ($class
        ->getProperties() as $attribute) {
        if ($attribute
          ->isStatic()) {
          $name = $attribute
            ->getName();
          if (!isset($blacklist[$declaredClasses[$i]]) || !in_array($name, $blacklist[$declaredClasses[$i]])) {
            $attribute
              ->setAccessible(TRUE);
            $value = $attribute
              ->getValue();
            if (!$value instanceof Closure) {
              $backup[$name] = serialize($value);
            }
          }
        }
      }
      if (!empty($backup)) {
        self::$staticAttributes[$declaredClasses[$i]] = $backup;
      }
    }
  }
}