. */ namespace Doctrine\Tests\ORM\Proxy; use Doctrine\Tests\OrmTestCase; use Doctrine\ORM\Proxy\Autoloader; /** * @group DDC-1698 */ class AutoloaderTest extends OrmTestCase { static public 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", "assertTrue(class_exists('ProxyAutoloaderTest\AutoloaderTestClass', true)); unlink(sys_get_temp_dir() ."/AutoloaderTestClass.php"); } }