You are here

class AutoloaderTest in Plug 7

@group DDC-1698

Hierarchy

  • class \Doctrine\Tests\Common\Proxy\AutoloaderTest extends \PHPUnit_Framework_TestCase

Expanded class hierarchy of AutoloaderTest

File

lib/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AutoloaderTest.php, line 28

Namespace

Doctrine\Tests\Common\Proxy
View source
class AutoloaderTest extends PHPUnit_Framework_TestCase {
  public static function dataResolveFile() {
    return array(
      array(
        '/tmp',
        'MyProxy',
        'MyProxy\\__CG__\\RealClass',
        '/tmp' . DIRECTORY_SEPARATOR . '__CG__RealClass.php',
      ),
      array(
        '/tmp',
        'MyProxy\\Subdir',
        'MyProxy\\Subdir\\__CG__\\RealClass',
        '/tmp' . DIRECTORY_SEPARATOR . '__CG__RealClass.php',
      ),
      array(
        '/tmp',
        'MyProxy',
        'MyProxy\\__CG__\\Other\\RealClass',
        '/tmp' . DIRECTORY_SEPARATOR . '__CG__OtherRealClass.php',
      ),
    );
  }

  /**
   * @dataProvider dataResolveFile
   */
  public function testResolveFile($proxyDir, $proxyNamespace, $className, $expectedProxyFile) {
    $actualProxyFile = Autoloader::resolveFile($proxyDir, $proxyNamespace, $className);
    $this
      ->assertEquals($expectedProxyFile, $actualProxyFile);
  }
  public function testAutoload() {
    if (file_exists(sys_get_temp_dir() . "/AutoloaderTestClass.php")) {
      unlink(sys_get_temp_dir() . "/AutoloaderTestClass.php");
    }
    $autoloader = Autoloader::register(sys_get_temp_dir(), 'ProxyAutoloaderTest', function ($proxyDir, $proxyNamespace, $className) {
      file_put_contents(sys_get_temp_dir() . "/AutoloaderTestClass.php", "<?php namespace ProxyAutoloaderTest; class AutoloaderTestClass {} ");
    });
    $this
      ->assertTrue(class_exists('ProxyAutoloaderTest\\AutoloaderTestClass', true));
    unlink(sys_get_temp_dir() . "/AutoloaderTestClass.php");
  }
  public function testRegisterWithInvalidCallback() {
    $this
      ->setExpectedException('Doctrine\\Common\\Proxy\\Exception\\InvalidArgumentException', 'Invalid \\$notFoundCallback given: must be a callable, "stdClass" given');
    Autoloader::register('', '', new \stdClass());
  }

}

Members