mirror of
https://0xacab.org/radar/radar-wp.git
synced 2024-12-26 02:26:27 +01:00
46 lines
1.7 KiB
PHP
46 lines
1.7 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Doctrine\Tests\Common;
|
||
|
|
||
|
use Doctrine\Common\ClassLoader;
|
||
|
|
||
|
class ClassLoaderTest extends \Doctrine\Tests\DoctrineTestCase
|
||
|
{
|
||
|
public function testClassLoader()
|
||
|
{
|
||
|
$classLoader = new ClassLoader('ClassLoaderTest');
|
||
|
$classLoader->setIncludePath(__DIR__);
|
||
|
$classLoader->setFileExtension('.class.php');
|
||
|
$classLoader->setNamespaceSeparator('_');
|
||
|
|
||
|
$this->assertTrue($classLoader->canLoadClass('ClassLoaderTest_ClassA'));
|
||
|
$this->assertTrue($classLoader->canLoadClass('ClassLoaderTest_ClassB'));
|
||
|
$this->assertTrue($classLoader->canLoadClass('ClassLoaderTest_ClassC'));
|
||
|
$this->assertFalse($classLoader->canLoadClass('OtherClass'));
|
||
|
$this->assertEquals($classLoader->loadClass('ClassLoaderTest_ClassA'), true);
|
||
|
$this->assertEquals($classLoader->loadClass('ClassLoaderTest_ClassB'), true);
|
||
|
$this->assertEquals($classLoader->loadClass('ClassLoaderTest_ClassC'), true);
|
||
|
}
|
||
|
|
||
|
public function testClassExists()
|
||
|
{
|
||
|
$this->assertFalse(ClassLoader::classExists('ClassLoaderTest\ClassD'));
|
||
|
$badLoader = function($className) {
|
||
|
require __DIR__ . '/ClassLoaderTest/ClassD.php';
|
||
|
return true;
|
||
|
};
|
||
|
spl_autoload_register($badLoader);
|
||
|
$this->assertTrue(ClassLoader::classExists('ClassLoaderTest\ClassD'));
|
||
|
spl_autoload_unregister($badLoader);
|
||
|
}
|
||
|
|
||
|
public function testGetClassLoader()
|
||
|
{
|
||
|
$cl = new ClassLoader('ClassLoaderTest', __DIR__);
|
||
|
$cl->register();
|
||
|
$this->assertTrue(ClassLoader::getClassLoader('ClassLoaderTest\ClassD') instanceof \Doctrine\Common\ClassLoader);
|
||
|
$this->assertNull(ClassLoader::getClassLoader('This\Class\Does\Not\Exist'));
|
||
|
$cl->unregister();
|
||
|
}
|
||
|
}
|