class DebugClassLoaderTest

Hierarchy

  • class \Symfony\Component\ClassLoader\Tests\DebugClassLoaderTest extends \Symfony\Component\ClassLoader\Tests\PHPUnit_Framework_TestCase

Expanded class hierarchy of DebugClassLoaderTest

File

drupal/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/DebugClassLoaderTest.php, line 17

Namespace

Symfony\Component\ClassLoader\Tests
View source
class DebugClassLoaderTest extends \PHPUnit_Framework_TestCase {
  private $loader;
  protected function setUp() {
    $this->loader = new ClassLoader();
    spl_autoload_register(array(
      $this->loader,
      'loadClass',
    ));
  }
  protected function tearDown() {
    spl_autoload_unregister(array(
      $this->loader,
      'loadClass',
    ));
  }
  public function testIdempotence() {
    DebugClassLoader::enable();
    DebugClassLoader::enable();
    $functions = spl_autoload_functions();
    foreach ($functions as $function) {
      if (is_array($function) && $function[0] instanceof DebugClassLoader) {
        $reflClass = new \ReflectionClass($function[0]);
        $reflProp = $reflClass
          ->getProperty('classFinder');
        $reflProp
          ->setAccessible(true);
        $this
          ->assertNotInstanceOf('Symfony\\Component\\ClassLoader\\DebugClassLoader', $reflProp
          ->getValue($function[0]));
        return;
      }
    }
    throw new \Exception('DebugClassLoader did not register');
  }

}

Members